Wide area positioning system

ABSTRACT

Systems and methods are described for determining position of a receiver. The positioning system comprises a transmitter network including transmitters that broadcast positioning signals. The positioning system comprises a remote receiver that acquires and tracks the positioning signals and/or satellite signals. The satellite signals are signals of a satellite-based positioning system. A first mode of the remote receiver uses terminal-based positioning in which the remote receiver computes a position using the positioning signals and/or the satellite signals. The positioning system comprises a server coupled to the remote receiver. A second operating mode of the remote receiver comprises network-based positioning in which the server computes a position of the remote receiver from the positioning signals and/or satellite signals, where the remote receiver receives and transfers to the server the positioning signals and/or satellite signals.

RELATED APPLICATIONS

The content from each of the following related applications isincorporated by reference herein in its entirety: U.S. Ser. No.15/661,073, filed Jul. 27, 2017, entitled WAPS AREA POSITIONING SYSTEM;U.S. Ser. No. 14/721,936, filed May 26, 2015, entitled WAPS AREAPOSITIONING SYSTEM; U.S. Ser. No. 14/138,412, filed Dec. 23, 2013,entitled WAPS AREA POSITIONING SYSTEM; U.S. Ser. No. 14/067,911, filedOct. 30, 2013, entitled WAPS AREA POSITIONING SYSTEM; U.S. Ser. No.13/412,487, filed Mar. 5, 2012, entitled WAPS AREA POSITIONING SYSTEM;U.S. Ser. No. 13/412,508, filed Mar. 5, 2012, entitled WAPS AREAPOSITIONING SYSTEM; U.S. Ser. No. 12/557,479, filed Sep. 10, 2009,entitled WAPS AREA POSITIONING SYSTEM; U.S. Ser. No. 61/095,856, filedSep. 10, 2008, entitled WIDE AREA POSITIONING SYSTEM; and U.S. Ser. No.61/163,020, filed Mar. 24, 2009, entitled WIDE AREA POSITIONING SYSTEM.

TECHNICAL FIELD

The disclosure herein relates generally to positioning systems. Inparticular, this disclosure relates to a wide area positioning system.

BACKGROUND

Positioning systems like Global Positioning System (GPS) have been inuse for many years. In poor signal conditions, however, theseconventional positioning system can have degraded performance.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a wide area positioning system in an embodiment.

FIG. 2 shows a synchronized beacon in an embodiment.

FIG. 3 shows a positioning system using a repeater configuration in anembodiment.

FIG. 4 shows a positioning system using a repeater configuration in anembodiment.

FIG. 5 shows tower synchronization in an embodiment.

FIG. 6 shows a GPS disciplined PPS generator in an embodiment.

FIG. 7 is a GPS disciplined oscillator in an embodiment.

FIG. 8 shows a signal for counting the time difference between the PPSand the signal that enables the analog sections of the transmitter totransmit the data in an embodiment.

FIG. 9 shows the differential WAPS system in an embodiment.

FIG. 10 shows common view time transfer in an embodiment.

FIG. 11 shows the two-way time transfer in an embodiment.

FIG. 12 shows a receiver unit in an embodiment.

FIG. 13 shows an RF module in an embodiment.

FIG. 14 shows signal upconversion and/or downconversion in anembodiment.

FIG. 15 is a block diagram showing clock sharing in an embodiment.

FIG. 16 shows assistance transfer from WAPS to GNSS receiver in anembodiment.

FIG. 17 is a block diagram showing transfer of aiding information fromthe GNSS receiver to the WAPS receiver in an embodiment.

FIG. 18 is an example configuration in which WAPS assistance informationis provided from a WAPS server in an embodiment.

FIG. 19 illustrates estimating an earliest arriving path in h[n] in anembodiment.

FIG. 20 illustrates estimating reference correlation function in anembodiment.

FIG. 21 illustrates estimating noise sub-space in an embodiment.

FIG. 22 illustrates estimating noise sub-space in an embodiment.

FIG. 23 illustrates estimating noise sub-space in an embodiment.

FIG. 24 illustrates estimating noise sub-space in an embodiment.

FIG. 25 illustrates estimating noise sub-space in an embodiment.

FIG. 26 shows hybrid position estimation using range measurements fromvarious systems in an embodiment.

FIG. 27 shows hybrid position estimation using position estimates fromvarious systems in an embodiment.

FIG. 28 shows hybrid position estimation using a combination of rangeand position estimates from various systems in an embodiment.

FIG. 29 illustrates determining a hybrid position solution in whichposition/velocity estimates from the WAPS/GNSS systems are fed back tohelp calibrate the drifting bias of the sensors at times when thequality of the GNSS/WAPS position and/or velocity estimates are good inan embodiment.

FIG. 30 illustrates determining a hybrid position solution in whichsensor parameters (such as bias, scale and drift) are estimated as partof the position/velocity computation in the GNSS and/or WAPS unitswithout need for explicit feedback in an embodiment.

FIG. 31 illustrates determining a hybrid position solution in whichsensor calibration is separated from the individual position computationunits in an embodiment.

FIG. 32 illustrates determining a hybrid position solution in which asensor parameter estimation is done as part of the state of the positioncomputation units in an embodiment.

FIG. 33 shows exchange of information in an embodiment.

FIG. 34 shows exchange of location, frequency and time estimates betweenFM receiver and WAPS receiver in an embodiment.

FIG. 35 is a block diagram showing exchange of location, time andfrequency estimates between WLAN/BT transceiver and WAPS Receiver in anembodiment.

FIG. 36 is a block diagram showing exchange of location, time andfrequency estimates between cellular transceiver and WAPS receiver in anembodiment.

FIG. 37 shows session key setup in an embodiment.

FIG. 38 illustrates encryption in an embodiment.

FIG. 39 shows the security architecture for encryption in an embodiment.

DETAILED DESCRIPTION

Systems and methods are described for determining position of areceiver. The positioning system of an embodiment comprises atransmitter network including transmitters that broadcast positioningsignals. The positioning system comprises a remote receiver thatacquires and tracks the positioning signals and/or satellite signals.The satellite signals are signals of a satellite-based positioningsystem. A first mode of the remote receiver uses terminal-basedpositioning in which the remote receiver computes a position using thepositioning signals and/or the satellite signals. The positioning systemcomprises a server coupled to the remote receiver. A second operatingmode of the remote receiver comprises network-based positioning in whichthe server computes a position of the remote receiver from thepositioning signals and/or satellite signals, where the remote receiverreceives and transfers to the server the positioning signals and/orsatellite signals.

A method of determining position of an embodiment comprises receiving ata remote receiver at least one of positioning signals and satellitesignals. The positioning signals are received from a transmitter networkcomprising a plurality of transmitters. The satellite signals arereceived from a satellite-based positioning system. The method comprisesdetermining a position of the remote receiver using one ofterminal-based positioning and network based positioning. Theterminal-based positioning comprises computing a position of the remotereceiver at the remote receiver using at least one of the positioningsignals and the satellite signals. The network-based positioningcomprises computing a position of the remote receiver at a remote serverusing at least one of the positioning signals and the satellite signals.

In the following description, numerous specific details are introducedto provide a thorough understanding of, and enabling description for,the systems and methods described. One skilled in the relevant art,however, will recognize that these embodiments can be practiced withoutone or more of the specific details, or with other components, systems,etc. In other instances, well-known structures or operations are notshown, or are not described in detail, to avoid obscuring aspects of thedisclosed embodiments.

FIG. 1 shows a positioning system in an embodiment. The positioningsystem, also referred to herein as the wide area positioning system(WAPS), or “system”, includes a network of synchronized beacons,receiver units that acquire and track the beacons and/or GlobalPositioning System (GPS) satellites (and optionally have a locationcomputation engine), and a server that comprises an index of the towers,a billing interface, a proprietary encryption algorithm (and optionallya location computation engine). The system operates in thelicensed/unlicensed bands of operation and transmits a proprietarywaveform for the purposes of location and navigation purposes. The WAPSsystem can be used in conjunction with other positioning systems forbetter location solution or the WAPS system can be used to aid otherpositioning systems. In the context of this document, a positioningsystem is one that localizes one or more of latitude, longitude andaltitude coordinates.

In this document, whenever the ‘GPS’ is referred to, it is done so inthe broader sense of GNSS (Global Navigation Satellite System) which mayinclude other existing satellite positioning systems such as Glonass aswell as future positioning systems such as Galileo and Compass/Beidou.

FIG. 2 shows a synchronized beacon in an embodiment. The synchronizedbeacons of an embodiment, also referred to herein as beacons, form aCDMA network, and each beacon transmits a Pseudo Random Number (PRN)sequence with good cross-correlation properties such as a Gold Codesequence with a data stream of embedded assistance data. Alternatively,the sequences from each beacon transmitter can be staggered in time intoseparate slots in a TDMA format.

In a terrestrial positioning system, one of the main challenges toovercome is the near-far problem wherein, at the receiver, a far-awaytransmitter will get jammed by a nearby transmitter. To address thisissue, beacons of an embodiment use a combination of CDMA and TDMAtechniques in which local transmitters can use separate slots (TDMA)(and optionally different codes (CDMA)) to alleviate the near-farproblem. Transmitters further afield would be allowed to use the sameTDMA slots while using different CDMA codes. This allows wide-areascalability of the system. The TDMA slotting can be deterministic forguaranteed near-far performance or randomized to provide good averagenear-far performance. The carrier signal can also be offset by somenumber of hertz (for example, a fraction of the Gold code repeatfrequency) to improve cross-correlation performance of the codes toaddress any ‘near-far’ issues. When two towers use the same TDMA slotbut different codes, the cross-correlation in the receiver can befurther rejected by using interference cancellation of the strongersignal before detecting the weaker signal.

Another important parameter in the TDMA system is the TDMA slottingperiod (also called a TDMA frame). Specifically, in the WAPS system, theTDMA frame duration is time period between two consecutive slots of thesame transmitter. The TDMA frame duration is determined by the productof the number of transmitter slots required for positioning in thecoverage area and the TDMA slot duration. The TDMA slot duration isdetermined by the sensitivity requirements, though sensitivity is notnecessarily limited by a single TDMA slot. One example configuration mayuse 1 second as the TDMA frame duration and 100 ms as the TDMA slotduration.

Additionally, the beacons of an embodiment can use a preamble includingassistance data or information can be used for channel estimation andForward Error Detection and/or Correction to help make the data robust.The assistance data of an embodiment includes, but is not limited to,one or more of the following: precise system time at either the risingor falling edge of a pulse of the waveform; Geocode data (Latitude,Longitude and Altitude) of the towers; geocode information aboutadjacent towers and index of the sequence used by various transmittersin the area; clock timing corrections for the transmitter (optional) andneighboring transmitters; local atmospheric corrections (optional);relationship of WAPS timing to GNSS time (optional); indication ofurban, semi-urban, rural environment to aid the receiver in pseudorangeresolution (optional); and, offset from base index of the PN sequence orthe index to the Gold code sequence. In the transmit data frame that isbroadcast, a field may be included that includes information to disablea single or a set of receivers for safety and/or license managementreasons.

The transmit waveform timing of the transmissions from the differentbeacons and towers of an embodiment are synchronized to a common timingreference. Alternatively, the timing difference between thetransmissions from different towers should be known and transmitted. Theassistance data is repeated at an interval determined by the number andsize of the data blocks, with the exception of the timing message whichwill be incremented at regular intervals. The assistance data maybeencrypted using a proprietary encryption algorithm, as described indetail herein. The spreading code may also be encrypted for additionalsecurity. The signal is up-converted and broadcast at the predefinedfrequency. The end-to-end delay in the transmitter is accuratelycalibrated to ensure that the differential delay between the beacons isless than approximately 3 nanoseconds. Using a differential WAPSreceiver at a surveyed location listening to a set of transmitters,relative clock corrections for transmitters in that set can be found.

The tower arrangement of an embodiment is optimized for coverage andlocation accuracy. The deployment of the towers will be arranged in sucha way as to receive signals from 3 or more towers in most of thelocations within the network and at the edge of the network, such thatthe geometric dilution of precision (GDOP) in each of these locations isless than a predetermined threshold based on the accuracy requirement.Software programs that do RF planning studies will be augmented toinclude the analysis for GDOP in and around the network. GDOP is afunction of receiver position and transmitter positions. One method ofincorporating the GDOP in the network planning is to set up anoptimization as follows. Function to be minimized is volume integral ofthe square of GDOP over the coverage volume. The volume integration iswith respect to the (x, y, z) coordinates of the receiver position. Theminimization is with respect to the n transmitter position coordinates(x₁, y₁, z₁), (x₂, y₂, z₂), . . . (X_(n), y_(n), Z_(n)) in a givencoverage area subject to the constraints that they are in the coveragevolume: x_(min)<x<x_(max), y_(min)<y<y_(max), z_(min)<z<z_(max) for i=1,. . . , n with x_(min), y_(min) and z_(min) being the lower limits andwith x_(max), y_(max) and z_(max) being the upper limits of the coveragevolume. The function to be minimized can be written as

${f\left( {x_{i},y_{i},{{z_{i}\text{;}i} = 1},2,{\ldots \mspace{14mu} n}} \right)} = {\underset{{x \in {({{xl},{xu}})}},{y \in {({{yl},{yu}})}},{z \in {({{zl},{zu}})}}}{\int{\int\int}}{{GDOP}^{2}\left( {x,y,z,x_{i},y_{i},{{z_{i}\text{;}i} = 1},2,{\ldots \mspace{14mu} n}} \right)}}$

Additionally, the function to be minimized may be weighted according tothe importance (i.e. performance quality required) of the coverageregion R_(i).

${f\left( {x_{i},y_{i},{{z_{i}\text{;}i} = 1},2,{\ldots \mspace{14mu} n}} \right)} = {\sum\limits_{j}{W_{j}\underset{x,y,{z \in R_{j}}}{\int{\int\int}}{{GDOP}^{2}\left( {x,y,z,x_{i},y_{i},{{z_{i}\text{;}i} = 1},2,{\ldots \mspace{14mu} n}} \right)}}}$

An additional constraint on the tower coordinate locations can be basedon location of already available towers in the given area. Thecoordinatization of all coordinates can typically be done in local levelcoordinate system with average east as positive x, average north aspositive y and average vertical up as positive z. The software whichsolves the above constrained minimization problem will output optimizedtransmitter positions (x₁, y₁, z₁), (x₂, y₂, z₂), . . . (x_(n), y_(n),z_(n)) that would minimize the function f.

$\arg \; {\min\limits_{x_{i},y_{i},{{z_{i}\text{;}i} = 1},2,{\ldots \; n}}\left( {f\left( {x_{i},y_{i},{{z_{i}\text{;}i} = 1},2,{\ldots \mspace{14mu} n}} \right)} \right)}$

This technique can be applied for both wide area networks (like in acity) or in a local deployment (like in a mall). In one exampleconfiguration, the network of transmitters is separated by a distance ofapproximately 30 km in a triangular/hexagonal arrangement around eachmetropolitan area. Each tower can radiate via a corresponding antenna upto a maximum power in a range of approximately 20 W to 1 kW EIRP. Inanother embodiment, the towers can be localized and can transmit atpower levels as low as 1 W. The frequency bands of operation include anylicensed or unlicensed band in the radio spectrum. The transmit antennaof an embodiment includes an omni-directional antenna, or multipleantennas/arrays that can help with diversity, sectoring, etc.

Adjacent towers are differentiated by using different sequences withgood cross-correlation properties to transmit or alternatively totransmit the same sequences at different times. These differentiationtechniques can be combined and applied to only a given geographicalarea. For instance the same sequences could be reused over the networksin a different geographical area.

Local towers can be placed in a given geographical area to augment thewide area network towers of an embodiment. The local towers, when used,can improve the accuracy of the positioning. The local towers may bedeployed in a campus like environment or, for public safety needs,separated by a distance in a range of few 10s of meters up to a fewkilometers.

The towers will preferably be placed on a diversity of heights (ratherthan on similar heights) to facilitate a better quality altitudeestimate from the position solution. In addition to transmitters atdifferent latitude/longitude having different heights, another method toadd height diversity to the towers is to have multiple WAPS transmitters(using different code sequences) on the same physical tower (withidentical latitude and longitude) at different heights. Note that thedifferent code sequences on the same physical tower can use the sameslots, because transmitters on the same tower do not cause a near-farproblem.

WAPS transmitters can be placed on pre-existing or new towers used forone or more other systems (such as cellular towers). WAPS transmitterdeployment costs can be minimized by sharing the same physical tower orlocation. In order to improve performance in a localized area (such as,for example, a warehouse or mall), additional towers can be placed inthat area to augment the transmitters used for wide area coverage.Alternatively, to lower costs of installing full transmitters, repeaterscan be placed in the area of interest.

Note that the transmit beacon signals used for positioning discussedabove need not be transmitters built exclusively for WAPS, but can besignals from any other system which are originally synchronized in timeor systems for which synchronization is augmented through additionaltiming modules. Alternately, the signals can be from systems whoserelative synchronization can be determined through a reference receiver.These systems can be, for example, already deployed or newly deployedwith additional synchronization capability. Examples of such systems canbe broadcast systems such as digital and analog TV or MediaFlo.

FIG. 3 shows a positioning system using a repeater configuration in anembodiment. The repeater configuration comprises the followingcomponents:

1) A common WAPS receive antenna (Antenna 1)

2) An RF power amplifier and a splitter/switch connects to various WAPStransmitter antennas (Local Antennas 1-4).

3) WAPS User Receiver

Antenna 1 receives, amplifies and distributes (switches) the compositesignal to Local Antennas 1-4. The switching should be done (preferably)in a manner such that there is no overlap (collision) of transmissionsfrom different repeaters at the user receiver. Collision oftransmissions can be avoided through the use of guard intervals. Theknown cable delays from the switch to the transmit antenna should becompensated either by adding delays at therepeater-amplifier-transmitter to equalize the overall delay for alllocal repeaters or by adjusting the estimated time of arrival from aparticular repeater by the cable delay at the user-receiver. When TDMAis used in the wide area WAPS network, the repeater slot switching rateis chosen such that each wide area slot (each slot will contain one widearea WAPS tower) occurs in all repeater slots. One example configurationwould use the repeater slot duration equal to a multiple of the widearea TDMA frame duration. Specifically, if the wide area TDMA frame is 1second, then the repeater slots can be integer seconds. Thisconfiguration is the simplest, but is suitable only for deployment in asmall, limited area because of requirement of RF signal distribution oncables. The user WAPS receiver uses time-difference of arrival whenlistening to repeater towers to compute position and works under astatic (or quasi static) assumption during the repeater slotting period.The fact that the transmission is from a repeater can be detectedautomatically by the fact that each WAPS tower signal shows the sametiming difference (jump) from one repeater slot to the next one.

FIG. 4 shows a positioning system using a repeater configuration, underan alternative embodiment. In this configuration each repeater comprisesa WAPS repeater-receiver and an associated coverage-augmentation WAPStransmitter with local antenna (which can be indoors, for example). TheWAPS repeater receiver should be able to extract WAPS system timinginformation as well as WAPS data stream corresponding to one wide areaWAPS transmitter. The WAPS system timing and data corresponding to onewide area WAPS transmitter are passed to the corresponding local areaWAPS transmitters which can then re-transmit the WAPS signal (forexample, using a different code and the same slot). The transmitter willinclude additional data in its transmission such as latitude, longitudeand altitude of the local antenna. In this configuration, the WAPS userreceiver operation (range measurement and position measurement) can betransparent to the fact that the signals are coming from repeaters. Notethat the transmitter used in the repeater is cheaper than a full WAPSbeacon in that it does not need to have a GNSS timing unit to extractGNSS timing.

Depending on the mode of operation of the receiver unit, eitherterminal-based positioning or network-based positioning is provided bythe system. In terminal based positioning, the receiver unit computesthe position of the user on the receiver itself. This is useful inapplications like turn-by-turn directions, geo-fencing, etc. In networkbased positioning, the receiver unit receives the signals from thetowers and communicates or transmits the received signal to a server tocompute the location of the user. This is useful in applications likeE911, and asset tracking and management by a centralized server.Position computation in the server can be done in near real time orpost-processed with data from many sources (e.g., GNSS, differentialWAPS, etc.) to improve accuracy at the server. The WAPS receiver canalso provide and obtain information from a server (similar, for example,to a SUPL Secure User Plane server) to facilitate network basedpositioning.

The towers of an embodiment maintain synchronization with each otherautonomously or using network-based synchronization. FIG. 5 shows towersynchronization in an embodiment. The following parameters are used indescribing aspects of synchronization:

System transmitter time=t _(WAPS-tx)

Absolute time reference=t _(WAPS_abs)

Time Adjustment=Δ_(system) =t _(WAPS-tx) −t _(WAPS_abs)

Note that it is not essential to synchronize WAPS system time to anabsolute time reference. However, all WAPS transmitters are synchronizedto a common WAPS system time (i.e. relative timing synchronization ofall WAPS transmitters). Timing corrections of each transmitter relativeto WAPS system time (if any) should be computed. The timing correctionsshould be made available to the receivers either directly through overthe air WAPS assistance transmission or through some other communicationmeans. The assistance can be delivered, for example, to the WAPSreceiver through a cellular (or other) modem or through a broadcast datafrom a system (such as Iridium or digital TV or MediaFlo or broadcastchannels of cellular systems). Alternatively, the timing correction canbe sent to the server and used when computing position at the server. Adescription of tower synchronization of an embodiment follows.

Under network based synchronization, the towers synchronize with eachother in a local area. The synchronization between towers generallyincludes transmission of a pulse (which can be modulated using any formof modulation onto a carrier and/or spread using a spreading code forbetter time resolution which in turn modulates a carrier) andsynchronizing to the pulse edge on the receiver, as described in detailherein.

In the autonomous synchronization mode of an embodiment, the towers aresynchronized using a local timing reference. The timing reference can beone of the following, for example: GPS receivers; highly accurate clocksources (e.g., Atomic); a local time source (e.g., GPS disciplinedclock); and, any other network of reliable clock sources. Use of signalsfrom XM satellite radio, LORAN, eLORAN, TV signals, etc. which areprecisely time synchronized can be used as a coarse timing reference forthe towers. As an example in one embodiment, FIG. 6 shows a PPS pulsesource from a GPS receiver being used to discipline an accurate/stabletiming source such as a Rubidium, Caesium or a hydrogen master in anembodiment. Alternatively, a GPS disciplined Rubidium clock oscillatorcan be used, as shown in FIG. 7.

With reference to FIG. 6, the time constant of the PLL in the accurateclock source is set to a large enough number (e.g., in the range of0.5-2 hours) which provides for better short term stability (orequivalently, filtering of the short term GPS PPS variations) and theGPS-PPS provides for longer term stability and wider area ‘coarse’synchronization. The transmitter system continuously monitors these twoPPS pulses (from the GPS unit and from the accurate clock source) andreports any anomaly. The anomalies could be that after the two PPSsources being in lock for several hours, one of the PPS sources driftsaway from the other source by a given time-threshold determined by thetower network administrator. A third local clock source can be used todetect anomalies. In case of anomalous behavior, the PPS signal whichexhibits the correct behavior is chosen by the transmitter system andreported back to the monitoring station. In addition, the instantaneoustime difference between the PPS input and PPS output of the accuratetime source (as reported by the time source) can either be broadcast bythe transmitter or can be sent to the server to be used when postprocessing.

In the transmitter system, the time difference between the rising edgeof the PPS pulse input and the rising edge of the signal that enablesthe analog sections of the transmitter to transmit the data is measuredusing an internally generated high speed clock. FIG. 8 shows a signaldiagram for counting the time difference between the PPS and the signalthat enables the analog sections of the transmitter to transmit the datain an embodiment. The count that signifies that difference is sent toeach of the receivers as a part of the data stream. Use of a highlystable clock reference such as a Rubidium clock (the clock is stableover hours/days) allows the system to store/transmit this correction pertower on the device, just in case the device cannot modulate thespecific tower data anymore. This correction data can also be sent viathe communication medium to the device, if there is one available. Thecorrection data from the towers can be monitored by either referencereceivers or receivers mounted on the towers that listen to other towerbroadcasts and can be conveyed to a centralized server. Towers can alsoperiodically send this count information to a centralized server whichcan then disseminate this information to the devices in the vicinity ofthose towers through a communication link to the devices. Alternatively,the server can pass the information from towers (e.g., in a locale) toneighboring towers so that this information can be broadcast asassistance information for the neighboring towers. The assistanceinformation for neighboring towers may include position (since thetowers are static) and timing correction information about towers in thevicinity.

In another embodiment, a wide area differential positioning system canbe used to correct for timing errors from the towers. FIG. 9 shows thedifferential WAPS system in an embodiment. A reference receiver (locatedat a pre-surveyed location) is used to receive signals from all thetowers in the vicinity. Although the principles of differential GPS areapplied in this method, dealing with the effects of non-line-of-sight inthe terrestrial case makes it unique. The reference receiver'spseudorange (code phase) measurements for each tower are time-tagged andthen sent to the server. The received code phase-based ranges measuredat the reference receiver for towers j and i can be written as follows:

R _(ref) ^(j)(t)=ρ_(ref) ^(j) +c(dt _(ref) −dt ^(j))+ε_(R,ref) ^(j)

R _(ref) ^(i)(t)=ρ_(ref) ^(i) +c(dt _(ref) −dt ^(i))+ε_(R,ref) ^(i),

where ρ_(ref) ^(j) is the reference receiver to transmit tower jgeometric range, dt_(ref) and dt^(j) are respectively the referencereceiver and transmitter clock offsets referred to their respectiveantennas with respect to a common reference time (say, GPS time), c isthe speed of light, and ε_(R,ref) ^(j) is the measurement noise.

The differences in clock timing between the towers i and j,dt^(i)−dt^(j) are computed at the server by subtracting the twoequations above and using the known geometric ranges from referencereceiver to the transmit towers. This allows for elimination of thetiming differences between the transmitters in the rover/mobile stationmeasurements. Note that averaging over time can be used to get better(e.g., less noisy) estimates of the time difference dt^(i)−dt^(j) whenthe clocks used in the transmit towers are relatively stable.

The rover/mobile station's pseudorange measurements are also time taggedand sent to a server. The received code phase based ranges measured atthe rover/mobile station can be written as:

R _(m) ^(i)(t)=ρ_(m) ^(i) +c(dt _(m) −dt ^(i))+ε_(R,m) ^(i)

R _(m) ^(j)(t)=ρ_(m) ^(j) +c(dt _(m) −dt ^(j))+ε_(R,m) ^(j).

By subtracting the two equations above and re-arranging, the result is

(ρ_(m) ^(j)−ρ_(m) ^(i))=(R _(m) ^(j)(t)−R _(m) ^(i)(t))−c(dt ^(i) −dt^(j))+(ε_(R,m) ^(i)−ε_(R,m) ^(j)).

Note that R_(m) ^(j)(t) and R_(m) ^(i)(t) are measured quantities andthe quantity dt^(i)−dt^(j) is computed from the reference receivermeasurements. Each of ρ_(ref) ^(j) and ρ_(ref) ^(j) can be written interms of the unknown coordinates of the receiver and the knowncoordinates of the transmit towers i and j. With three rangemeasurements, two range difference equations can be formed as above toobtain a two-dimensional position solution or with four rangemeasurements, three range difference equations can be formed as above toobtain a three-dimensional position. With additional measurements, aleast square solution can be used to minimize the effect of the noisequantities ε_(R,m) ^(i) and ε_(R,m) ^(j).

Alternatively, the timing difference corrections can be sent back to themobile station to correct for the errors in-situ and to facilitateposition computation at the mobile station. The differential correctioncan be applied for as many transmitters as can be viewed by both thereference and the mobile stations. This method can conceptually allowthe system to operate without tower synchronization or alternatively tocorrect for any residual clock errors in a loosely synchronized system.

Another approach is a standalone timing approach as opposed to thedifferential approach above. One way of establishing timingsynchronization is by having GPS timing receivers at each transmit towerin a specific area receive DGPS corrections from a DGPS referencereceiver in the same area. A DGPS reference receiver installed at aknown position considers its own clock as a reference clock and findscorrections to pseudo-range measurements to the GPS satellites ittracks. The DGPS correction for a particular GPS satellite typicallycomprises total error due to satellite position and clock errors andionospheric and tropospheric delays. This total error would be the samefor any pseudo-range measurement made by other GPS receivers in theneighborhood of the DGPS reference receiver (typically with an area ofabout 100 Km radius with the DGPS receiver at the center) because lineof sight between DGPS reference receiver and GPS satellite does notchange much in direction within this neighborhood. Thus, a GPS receiverusing DGPS correction transmitted by a DGPS reference receiver for aparticular GPS satellite uses the correction to remove this total errorfrom its pseudo-range measurement for that satellite. However in theprocess it would add the DGPS reference receiver's clock bias withrespect to GPS time to its pseudo-range measurement. But, since thisclock bias is common for all DGPS pseudo-range corrections, its effecton the timing solutions of different GPS receivers would be a commonbias. But this common bias gives no relative timing errors in thetimings of different GPS receivers. In particular, if these GPSreceivers are timing GPS receivers (at known positions) then all of themget synced to the clock of DGPS reference receiver. When these GPStiming receivers drive different transmitters, the transmissions alsoget synchronized.

Instead of using corrections from a DGPS reference receiver, similarcorrections transmitted by Wide Area Augmentation System (WAAS)satellites can be used by GPS timing receivers to synchronizetransmissions of the transmitters which they drive. An advantage of WAASis that the reference time is not that of the DGPS reference system butit is the GPS time itself as maintained by the set of accurate atomicclocks.

Another approach to achieving accurate time synchronization between thetowers across a wide area is to use time transfer techniques toestablish timing between pairs of towers. One technique that can beapplied is referred to as “common view time transfer”. FIG. 10 showscommon view time transfer in an embodiment. The GPS receivers in thetransmitters that have the view of a common satellite are used for thispurpose. Code phase and/or carrier phase measurements from each of thetowers for the satellites that are in common view are time taggedperiodically (e.g., minimum of once every second) by the GPS receiversand sent to a server where these measurements are analyzed. The GPS codeobservable R_(p) ^(i) (signal emitted by satellite “i” and observed by areceiver “p”) can be written as:

R _(p) ^(i)(t)=ρ_(P) ^(i) +c(δ_(R) ^(i)+δ_(R,p) +T _(p) ^(i) +I _(p)^(i))+c(dt _(p) −dt ^(i))+ε_(R,p),

where ρ_(p) ^(i), is the receiver-satellite geometric range equal to|{right arrow over (X)}_(p)−{right arrow over (X)}^(i)|, {right arrowover (X)}_(p) is the receiver antenna position at signal reception time,{right arrow over (X)}^(i) represents the satellite position at signalemission time, I_(p) ^(i) and T_(p) ^(i) are respectively theionospheric and tropospheric delays, and δ_(R) _(p) and δ_(R) ^(i) arethe receiver and satellite hardware group delays. The variable δ_(R)_(p) includes the effect of the delays within the antenna, the cableconnecting it to the receiver, and the receiver itself. Further, dt_(p)and dt^(i) are respectively the receiver and satellite clock offsetswith respect to GPS time, c is the speed of light, and ε_(R) is themeasurement noise.

The common view time transfer method computes the single difference codeobservable R_(pq) ^(i), which is the difference between code observablessimultaneously measured at two receivers (called “p” and “q”) as

$R_{pq}^{i} = {\underset{\underset{{{geometrical}\mspace{14mu} {range}}{difference}}{}}{\rho_{p}^{i} - \rho_{q}^{i}} + \underset{\underset{{{time}\mspace{14mu} {difference}}{{between}\mspace{14mu} {clocks}}}{}}{c\left( {{dt}_{p} - {dt}_{q}} \right)} + \underset{\underset{{{{Troposhpere}\mspace{14mu}\&}\mspace{14mu} {Ionosphere}}{{delay}\mspace{14mu} {difference}}}{}}{{c\left( {T_{p}^{i} - T_{q}^{i}} \right)} + {c\left( {I_{p}^{i} - I_{q}^{i}} \right)}} + \underset{\underset{{{Group}\mspace{14mu} {delay}\mspace{14mu} {difference}}{{between}\mspace{14mu} {receivers}}}{}}{c\left( {\delta_{R,p} - \delta_{R,q}} \right)} + \left( {ɛ_{R,p} - ɛ_{R,q}} \right)}$

In calculating the single difference observable, the group delay in thesatellite as well as the clock error of the satellite gets cancelled.Also, note that in the above equation the tropospheric and ionosphericperturbations cancel (or, can be modeled, for example in cases where thereceiver separation is large). Once the group delay differences betweenthe receivers are calibrated, the desired time differencec(dt_(p)−dt_(q)) between the receiver clocks can be found from theequation. The single difference across multiple time and satellitemeasurements can be combined to further improve the quality of theestimated time difference. In a similar manner, the single differencecarrier phase equation for common view time transfer can be written as:

$\Phi_{pq}^{i} = {\underset{\underset{{{geometrical}\mspace{14mu} {range}}{difference}}{}}{\rho_{p}^{i} - \rho_{q}^{i}} + \underset{\underset{{{time}\mspace{14mu} {difference}}{{between}\mspace{14mu} {clocks}}}{}}{c\left( {{dt}_{p} - {dt}_{q}} \right)} + \underset{\underset{{{{Troposhpere}\mspace{14mu}\&}\mspace{14mu} {Ionosphere}}{{delay}\mspace{14mu} {difference}}}{}}{{c\left( {T_{p}^{i} - T_{q}^{i}} \right)} + {c\left( {I_{p}^{i} - I_{q}^{i}} \right)}} + \underset{\underset{{{Group}\mspace{14mu} {delay}\mspace{14mu} {difference}}{{between}\mspace{14mu} {receivers}}}{}}{c\left( {\delta_{\varphi,p} - \delta_{\varphi,q}} \right)} + \underset{\underset{{{initial}\mspace{14mu} {ambiguity}\mspace{14mu} {in}}{phase}}{}}{\lambda \left( {\varphi_{p}^{i} - \varphi_{q}^{i}} \right)} + \underset{\underset{{{integer}\mspace{14mu} {ambiguity}\mspace{14mu} {in}}{{phase}\mspace{14mu} {measurement}}}{}}{\lambda \left( {N_{p}^{i} - N_{q}^{i}} \right)} + {\left( {ɛ_{\varphi,p} - ɛ_{\varphi,q}} \right).}}$

Note that since initial phase ambiguity and integer ambiguity arepresent in the above equation, the phase single difference cannot beused to determine the time transfer directly. A combined use of the codeand phase observations allows for advantage to be taken of the absoluteinformation about time difference from the codes and the preciseinformation about the evolution of time difference from the carrierphases. The error variance in the carrier phase single difference issignificantly better than the code phase single difference leading tobetter time transfer tracking.

The resulting errors per tower for a given satellite are either sentback to the tower for correction, applied at the tower, sent to thereceivers over the communication link for the additional corrections tobe done by the receiver, or sent as a broadcast message along with othertiming corrections from the tower. In specific instances, it might besuch that the measurements from the towers and the receiver arepost-processed on the server for better location accuracy. A singlechannel GPS timing receiver or a multiple channel timing receiver thatproduces C/A code measurements and/or carrier phase measurements from L1and/or L2 or from other satellite systems such as Galileo/Glonass can beused for this purpose of common view time transfer. In multiple channelsystems, information from multiple satellites in common view arecaptured at the same instant by the receivers.

An alternative mechanism in “common view time transfer” is to ensurethat different timing GPS receivers in the local area (each feeding toits corresponding transmitter) use only common satellites in theirtiming pulse derivation (e.g., one pulse per second) but no attempt ismade to correct the timing pulses to be aligned to the GPS (or UTC)second. The use of common view satellites ensure that common errors intiming pulses (such as common GPS satellite position and clock errorsand ionospheric and tropospheric delay compensation errors) pull theerrors in timing pulse by about same magnitude and relative errors intiming pulses are reduced. Since, in positioning, only relative timingerrors matter, there is no need for any server-based timing errorcorrection. However, a server can give commands to different GPSreceivers on which GPS satellites are to be used in deriving timingpulses.

An alternative method of time transfer is the “two-way time transfer”technique. FIG. 11 shows the two-way time transfer in an embodiment.Consider two towers that are used to time against each other.Transmissions from each of the two transmitters starts on the PPS pulseand a time interval counter is started on the receive section (WAPSReceiver) of the transmit towers. The received signal is used to stopthe time interval counter on either side. The results from the timeinterval counter are sent over the data modem link to the WAPS serverwhere these results along with transmit times are compared and theerrors in timing between the two towers can be computed. This can thenbe extended to any number of towers. In this method, the relationshipbetween the counter measurements ΔT_(i) at tower i and ΔT_(j) at towerj, and the time difference dt_(ij) between the clock in i and j can berepresented as:

dt _(ij) =T _(i) −T _(j)=½(ΔT _(i) −ΔT _(j))+½[(τ_(i) ^(Tx)+τ_(j)^(Rx))−(Σ_(j) ^(Tx)+τ_(i) ^(RX))],

where τ_(i) ^(Tx) & τ_(j) ^(Tx) are the transmitter delays of thetowers, and τ_(i) ^(Rx) & τ_(j) ^(Rx) are the receiver delays of towers.The time difference can be estimated once the transmitter and receiverdelays are calibrated.

In addition to the time transfer between towers, the timing of thetowers relative to GPS time can be found by the GPS timing receiversused in common view time transfer. Using the range measurement as

R _(p) ^(i)(t)=ρ_(p) ^(i) +c(δ_(R) ^(i)+δ_(R,p) +T _(p) ^(i) +I _(p)^(i))+c(dt _(p) −dt ^(i))+ε_(R,p)

the time correction of local clock relative to GPS time dt_(p) iscomputed, after accounting for the delay of the receiver, satelliteclock errors and ionospheric/tropospheric errors. The delay of thereceiver δ_(R,p) can be calibrated by measurement of the group delay.Information from the GPS satellite navigation message (either obtainedthrough demodulation or from a server) can be used to compute thesatellite timing correction which eliminates the effect of dt^(i) andδ_(R) ^(i). Similarly, troposphere and ionosphere delay effects areminimized using the corrections from an external model. Ionosphericcorrections can be obtained for example from WAAS messages.Alternatively, a combination of clock and ionospheric/troposphericcorrections can be obtained from RTCM DGPS corrections for thepseudorange, when available.

The offset relative to GPS time can also be sent as part of the datastream from the towers. This enables any WAPS receiver that acquires theWAPS signal to provide accurate GPS time and frequency aiding tosignificantly reduce GNSS search requirements in a GNSS receiver.

In an embodiment of the system, the broadcast transmitters can beemployed ad hoc to provide localized indoor position determination. Forexample, in a fire-safety application, the WAPS transmitters would beplaced on three or more broadcast stations (could be fire trucks, forexample). The towers would synchronize to each other by one of the manymeans described earlier and broadcast signals. The bandwidth andchipping rates would be scaled based on spectrum availability andaccuracy requirements in that area for that application at that time.The receivers would be notified of the system parameters through thecommunication link to the devices.

FIG. 12 shows a receiver unit in an embodiment. The beacon signal isreceived at the antenna on the receiver unit, down-converted,demodulated and decrypted and fed to the positioning engine. Thereceiver provides all information to reconstruct the signal accurately.The receive antenna can be an omni-directional antenna or,alternatively, a number of antennas/arrays providing diversity, etc. Inanother embodiment, the mixing and down conversion can be done in thedigital domain. Each receiver unit includes or uses a unique hardwareidentification number and a computer generated private key. Eachreceiver unit, in general, stores the last few locations in non volatilememory and can be later queried remotely for the last few storedlocations. Based on the availability of the spectrum in a given area,the transmitters and receivers can adapt to the available bandwidth andchange the chipping rate and filter bandwidths for better accuracy andmultipath resolution.

In one embodiment, the digital baseband processing of the receivedsignals is accomplished using commercially-available GPS receivers bymultiplexing/feeding the signal from a GPS RF section with the WAPS RFmodule. FIG. 13 shows the receiver with a WAPS RF module in anembodiment. The RF module includes one or more of Low noise amplifiers(LNAs), filters, down-converter, and analog to digital converters, toname a few. In addition to these components, the signal can be furtherconditioned to fit the input requirements of the GPS receiver usingadditional processing on chip or a custom ASIC or on an FPGA or on a DSPor on a microprocessor. The signal conditioning can include digitalfiltering for in-band or out-of band noise (such as ACI—adjacent channelinterference), translating intermediate or baseband frequencies of theinput to the GPS IC from the frequencies of the WAPS receiver, adjustingthe digital signal strength so that the GPS IC will be able to processthe WAPS signal, automatic gain control (AGC) algorithms to control theWAPS frontend, etc. In particular, the frequency translation is a veryuseful feature because this allows the WAPS RF module to work with anycommercially available GPS receiver. In another embodiment, the entireRF frontend chain including the signal conditioning circuits for theWAPS system can be integrated onto an existing GPS die that contains aGPS RF chain.

In another embodiment, if access to the digital baseband input is notavailable, the signal can be up-converted/down-converted from any bandto the GPS band and fed into the RF section of the GPS receiver. FIG. 14shows signal up-conversion and/or down-conversion in an embodiment.

In another embodiment, multiple RF chains or tunable RF chains can beadded to both the transmitter and receiver of the WAPS system so as touse the most effective frequency of operation in a given area, be itwide or local. The choice of frequency can be determined by cleanlinessof the spectrum, propagation requirements, etc.

The radio front-end can be shared between WAPS and other application.Some parts of the frontend can be shared and some may be used on amutually exclusive basis. For example, if the die/system already has aTV (NTSC or ATSC or systems like DVB-H, MediaFLO) tuner front-endincluding the antenna, the TV tuner radio and antenna can be shared withthe WAPS system. They can operate on a mutually exclusive basis in that,either the system receives TV signals or receives WAPS signals at anygiven time. In another embodiment, if it makes it easier to add a WAPSRF section to such a system, the antenna can be shared between the TVtuner and the WAPS system allowing both systems to operatesimultaneously. In cases where the system/die has a radio like an FMradio, the RF front-end can be modified to accommodate both the WAPSsystem and the FM radio and these radios can operate on a mutuallyexclusive basis. Similar modifications can be done for systems that havesome RF frontends that operate in close frequency proximity to the WAPSRF band.

The clock source reference such as crystal, crystal oscillator (XO),Voltage Controlled Temperature Compensated Crystal Oscillator (VCTCXO),Digitally-controlled Crystal Oscillator (DCXO), Temperature CompensatedCrystal Oscillator (TCXO), that is used for a GNSS sub-system can beshared with the WAPS receiver to provide the reference clock to the WAPSreceiver. This sharing can be done on the die or off-chip.Alternatively, the TCXO/VCTCXO used by any other system on a cellularphone can be shared with the WAPS system. FIG. 15 is a block diagramshowing clock sharing in a positioning system in an embodiment. Notethat the transceiver or processor system block can refer to a variety ofsystems. The transceiver system that shares the clock with the WAPSsystem can be a modem transceiver (for example, a cellular or WLAN or BTmodem) or a receiver (for example, a GNSS, FM or DTV receiver). Thesetransceiver systems may optionally control the VCTCXO or DCXO forfrequency control. Note that the transceiver system and the WAPS systemmay be integrated into a single die or may be separate dies and does notimpact the clock sharing. The processor can be any CPU system (such asan ARM sub-system, Digital Signal Processor system) that uses a clocksource. In general, when a VCTCXO/DCXO is shared, the frequencycorrection applied by the other system may be slowed down as much aspossible to facilitate WAPS operation. Specifically, the frequencyupdates within the maximum integration times being used in WAPS receivermay be limited to permit better performance (i.e. minimizing SNR loss)for the WAPS receiver. Information regarding the state of the WAPSreceiver (specifically, the level of integration being used, acquisitionversus tracking state of the WAPS system) can be exchanged with theother system for better coordination of the frequency updates. Forexample, frequency updates could be suspended during WAPS acquisitionphase or frequency updates can be scheduled when the WAPS receiver is insleep state. The communication could be in the form of control signalsor alternatively in the form of messages exchanged between thetransceiver system and the WAPS system.

The WAPS broadcasts signals and messages from the towers in such a waythat a conventional GPS receiver's baseband hardware need not bemodified to support both a WAPS and a traditional GPS system. Thesignificance of this lies in the fact that although the WAPS system hasonly half the available bandwidth as the GPS C/A code system (whichaffects the chip rate), the WAPS broadcast signal is configured tooperate within the bounds of a commercial grade C/A code GPS receiver.Further, based on signal availability, the algorithms will decidewhether GPS signals should be used to determine position or WAPS signalsor a combination thereof should be used to get the most accuratelocation.

The data transmitted on top of the gold codes on the WAPS system can beused to send assistance information for GNSS in the cases of a hybridGNSS-WAPS usage scenario. The assistance can be in the form of SV orbitparameters (for example, ephemeris and almanac). The assistance may alsobe specialized to SVs visible in the local area.

In addition, the timing information obtained from the WAPS system can beused as fine time aiding for the GNSS system. Since the WAPS systemtiming is aligned to GPS (or GNSS) time, aligning to the code and bit ofWAPS signal and reading the data stream from any tower provides coarseknowledge of GNSS time. In addition, the position solution (thereceiver's clock bias is a by-product of the position solution)determines the WAPS system time accurately. Once the WAPS system time isknown, fine time aiding can be provided to the GNSS receiver. The timinginformation can be transferred using a single hardware signal pulsewhose edge is tied to the internal time base of WAPS. Note that the WAPSsystem time is directly mapped onto GPS time (more generally, with GNSStime, since the time bases of GNSS systems are directly related). TheGNSS should be able to latch its internal GNSS time base count uponreceipt of this edge. Alternatively, the GNSS system should be able togenerate a pulse whose edge is aligned to its internal time base and theWAPS system should be capable of latching its internal WAPS time base.The WAPS receiver then sends a message with this information to the GNSSreceiver allowing the GNSS receiver to map its time base to WAPS timebase.

Similarly, the frequency estimate for the local clock can be used toprovide frequency aiding to the GNSS receiver. Note that frequencyestimate from WAPS receiver can be used to refine the frequency estimateof the GNSS receiver whether or not they share a common clock. When thetwo receivers have a separate clock, an additional calibration hardwareor software block is required to measure the clock frequency of onesystem against the other. The hardware or software block can be in theWAPS receiver section or in the GNSS receiver section. Then, thefrequency estimate from the WAPS receiver can be used to refine thefrequency estimate of the GNSS receiver.

The information that can be sent from the WAPS system to the GNSS systemcan also include an estimate of location. The estimate of location maybe approximate (for example, determined by the PN code of the WAPStower) or more accurate based on an actual position estimate in the WAPSsystem. Note that the location estimate available from the WAPS systemmay be combined with another estimate of position from a differentsystem (for example, a coarse position estimate from cellular ID basedpositioning) to provide a more accurate estimate of position that can beused to better aid the GNSS system. FIG. 16 shows assistance transferfrom WAPS to GNSS receiver in an embodiment.

The GNSS receiver can also help improve the performance of the WAPSreceiver in terms of Time-To-First-Fix (TTFF), sensitivity and locationquality by providing location, frequency and GNSS time estimates to theWAPS receiver. As an example, FIG. 17 is a block diagram showingtransfer of aiding information from the GNSS receiver to the WAPSreceiver in an embodiment. Note that the GNSS system can be replaced byLORAN, e-LORAN or similar terrestrial positioning system as well. Thelocation estimate can be partial (eg. Altitude or 2-D position), orcomplete (eg. 3-D position) or raw range/pseudo-range data. Therange/pseudo-range data should be provided along with the location of SV(or means to compute the location of the SV such as SV orbit parameters)to enable usage of this range information in a hybrid solution. Alllocation aiding information should be provided along with a metricindicating its quality. When providing GNSS time information (which maybe transferred to the WAPS system using a hardware signal), the offsetof GNSS time relative to GPS time (if any) should be provided to enableusage in the WAPS receiver. Frequency estimates, can be provided as anestimate of the clock frequency along with a confidence metric(indicating the estimated quality of the estimate, for example, themaximum expected error in the estimate). This is sufficient when theGNSS and WAPS systems share the same clock source. When the GNSS andWAPS systems use a separate clock, the GNSS clock should also beprovided to the WAPS system to enable the WAPS system to calibrate (i.e.estimate the relative clock bias of WAPS with respect to GNSS clock) or,alternatively, the WAPS system should provide its clock to the GNSSsystem and the GNSS system should provide a calibration estimate (i.e.an estimate the relative clock bias of WAPS with respect to GNSS clock).

To further improve the sensitivity and TTFF of a WAPS receiver,assistance information (such as that would otherwise be decoded from theinformation transmitted by the towers) can be provided to the WAPSreceiver from a WAPS server by other communication media (such ascellular phone, WiFi, SMS, etc). With the “almanac” information alreadyavailable, the WAPS receiver's job becomes simple since the receiverjust needs to time align to the transmit waveform (without requirementof bit alignment or decoding). The elimination of the need to decode thedata bits reduces TTFF and therefore saves power since the receiver doesnot need to be continuously powered on to decode all the bits. FIG. 18is an example configuration in which WAPS assistance information isprovided from a WAPS server in an embodiment.

A beacon may be added to the receiver to further improve localpositioning. The beacon can include a low power RF transmitter thatperiodically transmits a waveform with a signature based on a device ID.For example, the signature can be a code that uniquely identifies thetransmitter. An associated receiver would be able to find a location ofthe transmitter with a relatively higher accuracy through either signalenergy peak finding as it scans in all directions, or through directionfinding (using signals from multiple-antenna elements to determinedirection of signal arrival).

Resolution of Multipath Signals

Resolution of multipath is critical in positioning systems. A wirelesschannel is often characterized by a set of randomly varying multipathcomponents with random phases and amplitudes. For positioning to beaccurate, it is imperative that the receiver algorithm resolves theline-of-sight (LOS) path if present (it will be the first arriving path)or the path that arrives first (which may not necessarily be the LOScomponent).

Traditional methods often work as follows: (1) the received signal iscross-correlated with the transmitted pseudo-random sequence (e.g. Goldcode sequence, which is known at the receiver); (2) the receiver locatesthe first peak of the resulting cross-correlation function and estimatesthat the timing of the path that arrived first is the same as the timingindicated by the position of this peak. These methods work effectivelyas long as the lowest multipath separation is much larger than inverseof the bandwidth available which is often not the case. Bandwidth is aprecious commodity and a method which can resolve multipath with theminimal amount of bandwidth is highly desired to improve the efficiencyof the system.

Depending on the channel environment (including multipath and signalstrength), an appropriate method for obtaining an estimate of theearliest arriving path is used. For best resolvability, high-resolutionmethods are used whereas for reasonable performance at low SNRs moretraditional methods that directly use the cross-correlation peak samplesand some properties of the correlation function around the peak areapplied.

Consider the quantized received signal y[n] sampled at a rate f_(s)given by:

y[n] = h_(eff)[n] ⊗ x[n]${y\lbrack n\rbrack} = {\sum\limits_{i = n_{0}}^{\infty}{{h_{eff}\lbrack i\rbrack} \cdot {x\left\lbrack {n - i} \right\rbrack}}}$

where y[n] is the received signal which is the convolution of thetransmitted pseudo-random sequence x[n] with the effective channelh_(eff)[n]=h[n]⊗h_(tx)[n]⊗h_(rx)[n], where h_(tx)[n] is the transmitfilter, h_(tx)[n] is the receive filter and h[n] is the multi-pathchannel.

One method to find the peak position is by peak interpolation using thevalues surrounding the apparent peak position. The interpolation may bequadratic using one value on either side of the peak or may use a higherorder polynomial using two or more samples around the peak or may use abest fit for the actual pulse shape. In the case of quadraticinterpolation, a quadratic is fitted to the peak value and the valuesimmediately surrounding the peak. The peak of the quadratic determinesthe peak position that is used for ranging. This method is quite robustand can work well at low SNR.

An alternative embodiment may use a value other than the peak positionas the reference position. Note that the DLL actually uses the peakposition as reference position on the correlation function whereas thismethod uses a point different from the peak as reference. This method ismotivated by the fact that the early edge of the correlation peak isless affected by multi-path than the trailing edge. For example, a point75% of chip T, from the peak on the undistorted (without channeleffects) correlation function may be used as a reference point. In thiscase, the portion of the interpolated z[n] function that matches this75% point is selected and the peak is found as 25% of T_(c) away fromthis point.

Another alternative peak correlation function based method may use thepeak shape (such as a measure of distortion of the peak, for example,peak width). Starting from the peak location and based on the shape ofthe peak, a correction to the peak location is determined to estimatethe earliest arriving path.

High-resolution methods are a class of efficient multipath-resolutionmethods which use Eigen-space decompositions to locate the multipathcomponents. Methods such as MUSIC, ESPIRIT fall under this class ofresolution schemes. They are highly powerful schemes as in they canresolve effectively much more closely spaced multipath components thantraditional methods, for the same given bandwidth. The high resolutionearliest time of arrival method attempts to estimate directly the timeof arrival of earliest path rather than inferring the peak position fromthe peak values. The below assumes that a coarse-acquisition of thetransmitted signal is already available at the receiver and the start ofthe pseudo-random sequence is known roughly at the receiver.

FIG. 19 illustrates estimating an earliest arriving path in h[n] in anembodiment. The method to determine the earliest path comprises thefollowing operations, but is not so limited:

-   -   1. Cross-correlate the received samples y[n] with the transmit        sequence x[n] to obtain the result z[n]. When the        cross-correlation is written in terms of a convolution,

z[n]=y[n]⊗x*[−n]

-   -   -   The equation can be re-written as

z[n]=h _(eff)[n]⊗ϕ_(xx)[n]

-   -   -   where ϕ_(xx)[n] is the autocorrelation function of the            pseudo-random sequence

    -   2. Locate the first peak of z[n] and denote it as n_(peak).        Extract wL samples to the left of the peak and wR samples to the        right of the peak of z[n] and denote this vector as pV.

pV=[z[n _(peak) −wL+1] . . . [n _(peak) +wR]]

-   -   -   The vector pV denotes the useful part of the            cross-correlation result z[n]. In the ideal case, in the            absence of channel distortion and when the channel BW is not            limited, the choosing wL=wR=f_(s)T_(c) would be sufficient            to determine the timing of the received signal. In the            presence of limited BW, for the case when the pseudo-random            code x[n] is a sequence of +1/−1's, the optimal method to            choose wL and wR are to choose them as the non-zero values            (or, more generally, values>a certain threshold defined as a            fraction of the peak value are selected) present on the left            and right side of the peak of p[n]=h_(tx)[n]⊗h_(tx)[n]            respectively. One other consideration in the choice of wL            and wR is to select enough uncorrelated noise samples to            obtain enough information regarding the noise sub-space. In            addition, the integers wL and wR should be chosen to include            all possible multipath components especially on the left            side (i.e. through choice of wL) to help resolve far-out            multipath components. Including too many samples beyond            f_(s)T_(c) increases the amount of noise introduced in the            pV vector and hence has to be curtailed. Through simulation            and experiments, a typical set of values for wL and wR are            3f_(s)T_(c) and 3f_(s)T_(c), respectively.        -   Note that z[n] (and in turn pV) contains the effect of the            channel h[n], the transmit filter h_(tx)[n], the receive            filter h_(rx)[n] and the autocorrelation function of the            pseudo-random sequence ϕ_(xx)[n]. In order to estimate the            earliest arriving path in the channel, the other effects            need to be eliminated. In many cases the transmit and            receive pulse-shapes are matched for best noise performance,            but that constraint is not required for this algorithm to            work. The reference correlation function is defined as            ϕ_(ref)[n]=ϕ_(xx)[n]⊗h_(tx)[n]⊗h_(rx)[n] which needs to be            estimated and eliminated before pV can be used for            estimation of earliest arriving path.

    -   3. The Reference correlation function ϕ_(ref)[n] is estimated        next.        -   One method to obtain the reference cross-correlation is as            follows: perform steps 1-2 on a ideal channel (a so called            “cabled link”) to obtain the corresponding peak vector            pV_(Ref). pV_(Ref) contains the useful samples of the            reference correlation function ϕ_(ref)[n]. FIG. 20            illustrates estimating reference correlation function in an            embodiment.        -   The “Cabled link” method involves sending the modulated            signal from the transmitter front-end (power-amplifier and            transmit antenna is by-passed) through an ‘ideal’ channel            (for example, a cable) to the receiver front-end (bypass the            receive antenna). Note that the ‘ideal’ channel can have            some delay and attenuation, but should not add any other            distortion and must have high SNR. For the best performance,            the ‘cabled’ reference needs to be generated separately for            each pseudo-random sequence as they have different            autocorrelation functions and hence different references. It            is also then critical to choose PRNs properly for the best            autocorrelation functions (specifically, their close in            autocorrelation side-lobes should be well suppressed            compared to the peak) which will result in the best overall            performance of the timing-resolution method, since            autocorrelation sidelobes can get mistaken for multipath            unless sufficiently attenuated.        -   Assuming transmit filter responses are controlled, one            calibration of the response on cabled link is required per            receiver during production. If receiver filter            characteristics can be controlled (for example, for a bunch            of receivers), then the calibration on cabled link of the            response can be further reduced to one calibration            measurement for a set of receivers.        -   An alternative method for determining the reference            correlation function ϕ_(ref)[n] is to compute the individual            components ϕ_(xx)[n], h_(tx)[n] and h_(rx)[n] analytically            and to convolve them to arrive at the reference correlation            function ϕ_(ref)[n]. Note that this method depends on the            extent to which transmit and receive filter impulse            responses can be controlled in an actual implementation.

    -   4. Improve the SNR in the estimate of pV by coherently averaging        across multiple gold codes and even across multiple bits.        Averaging across multiple bits can be done coherently after        decisions on the individual bits being transmitted have been        made. In other words using decision feedback before integration        across bits. Note that improved SNR can be obtained equivalently        by performing averaging in the cross-correlation function        estimation in Step 1.

    -   5. Calculate the Fast Fourier Transform (FFT) of length N_(fft)        of pV and pV_(Ref) with zero padding of N_(fft)−(wL+wR) zeros to        obtain the length N_(fft) vectors pV_(Freq) and pV_(Ref,Freq)        respectively. An optimal value for N_(fft) is obtained by        checking resolvability of multipath through simulations using        both synthetic and real measured channels. A typical value of        N_(fft) was found to be greater than or equal to 4096. The

pV _(Freq) =FFT[pV zeropad]

PV _(Ref,Freq) =FFT[pV _(Ref) zeropad]

-   -   6. Calculate

${H_{full}\lbrack k\rbrack} = \frac{{pV}_{Freq}\lbrack k\rbrack}{{pV}_{{Ref},{Freq}}\lbrack k\rbrack}$

-   -   to obtain the frequency domain estimate (corrupted with noise)        of the channel h[n]. If the received sequence y[n] is        oversampled by N_(os) (i.e.

$N_{os} = \frac{f_{s}T_{c}}{2}$

-   -   for a transmit pulse shape band-limited to +/−1/Tc) and if the        transmit and receive pulse-shaping filters are perfectly        band-limited with BW=1/Tc, then exactly

$N = \frac{N_{fft}}{2\; N_{os}}$

-   -   positive and negative samples around DC of H_(full)[k] are        non-zero (i.e. usable) for estimation of the real channel,        H_(real)[k]. From our studies, we have concluded that

$\frac{N_{fft}}{2\; \alpha \; N_{os}}$

-   -   samples on either side of DC should be picked for the best        performance of the resolution algorithm, where α>1 is chosen        based on the actual pulse-shaping filters used at the        transmitter and receiver and the autocorrelation function        ϕ_(xx)[n]. Note that including the frequency transition band of        ϕ_(ref)[n] causes noise enhancement and α is chosen large enough        to exclude these frequencies in the selected samples. However,        choosing a too large will cause loss of signal information. A        preferred choice of α=1.25 for real band-limited functions based        on raised-cosine filter shapes with small excess bandwidth has        been used in the implementation.    -   7. If the DC component of H_(full)[k] is at index 0, the reduced        H vector, H[ ] is defined as:

H=[H _(full)[N _(fft) −N+1] . . . H _(full)[N _(fft)]H _(full)[0]H_(full)[1] . . . H _(full)[N]]

-   -   8. Construct the matrix P from the reduced channel estimate        vector H[k],

$P = \left\lbrack \begin{matrix}{H(M)} & \ldots & {H\left( {{2\; N} - 1} \right)} \\{H\left( {M - 1} \right)} & \ldots & {H\left( {{2\; N} - 2} \right)} \\\vdots & \ddots & \vdots \\{H(0)} & \ldots & {H\left( {{2\; N} - M + 1} \right)}\end{matrix} \middle| \begin{matrix}{H^{\prime}(0)} & \ldots & {H^{\prime}\left( {{2\; N} - M + 1} \right)} \\{H^{\prime}(1)} & \ldots & {H^{\prime}\left( {{2\; N} - M + 2} \right)} \\\vdots & \ddots & \vdots \\{H^{\prime}(M)} & \ldots & {H^{\prime}\left( {{2\; N} - 1} \right)}\end{matrix} \right\rbrack$

-   -   where 1<M<2N is a parameter and ( )′ represents conjugate of the        complex number.    -   Define the estimated covariance matrix R of the reduced channel        estimate vector H[k] as

R=P×P′

-   -   -   If M is chosen to be too small (close to 1), then the            eigen-values of R are very limited in number and, as a            result, the high-resolution algorithm cannot delineate            between the signal and noise. If M is chosen too large            (close to 2N), then the covariance matrix estimate R is            unreliable as the amount of averaging in obtaining the            covariance is inadequate and also the covariance matrix R            obtained is rank-deficient. Thus, a value of M which is            right in the middle of its allowable range i.e. M=N is a            good choice. This has also been verified empirically.

    -   9. Perform singular value decomposition (SVD) on R as

R=UDV′

-   -   -   where U is a matrix of the left singular vectors, V is the            matrix of the right singular vectors and D is the diagonal            matrix of singular values.

    -   10. Construct the vector of sorted singular values sV as:        sV=diagonal elements of D sorted in descending order.

    -   11. The next key step is to separate the signal and noise        subspaces. In other words, to select an index ns in the vector        sV such that the singular values sV[ns+1] . . . sV[N] correspond        to noise. Define a vector of noise singular values as        sV_(noise). There are a number of methods possible to separate        the singular values corresponding to the noise subspace and find        a representation for the basis vectors of the noise sup-space:        -   a) All singular values which are smaller than

$\frac{\max ({sV})}{T_{1}}$

-   -   -   where T₁ is a threshold value which is a function of the            signal-noise ratio (e.g. SNR on the chip) T₁=ƒ(SNR).            -   FIG. 21 illustrates estimating noise sub-space in an                embodiment.        -   b) All singular values less than

${\min \left( {\frac{\max ({sV})}{T_{1}},{{{mean}\left( {{sV}\left( {L\text{:}M} \right)} \right)} \times T_{2}}} \right)},$

-   -   -   where L is a parameter which can be chosen greater than            delay-spread (e.g. N/2) and T₂ is another threshold value            determined empirically (typical value can be 1000).            -   FIG. 22 illustrates estimating noise sub-space, under an                alternative embodiment.        -   c) Another method involves determining the noise subspace by            repeatedly estimating the SNR for different partitions of            noise and signal-plus-noise subspaces and comparing with            another estimate of SNR. FIG. 23 illustrates estimating            noise sub-space, under another alternative embodiment.            -   1) Calculate estimate of SNR as follows:                -   i. Assume that the noise is represented by the sV( )                    n_(s), n_(s)+1 . . . M, Calculate noise variance as:

${\sigma_{est}^{2}\left( n_{s} \right)} = \frac{\Sigma_{i = n_{s}}^{M}s{V(i)}}{M - n_{s} + 1}$

-   -   -   -   -   ii. Calculate the signal power as                    P_(sig)(n_(s))=Σ_(i=1) ^(n) ^(s) ⁻¹(sV(i)−α_(est)                    ²(n_(s)))                -   iii. Estimate of SNR:

${SN{R_{est}\left( n_{s} \right)}} = \frac{P_{sig}\left( n_{s} \right)}{\sigma_{est}^{2}\left( n_{s} \right)}$

-   -   -   -   2) An alternative estimate of SNR is obtained through                other methods (e.g. SNR on chip). One method of                estimating SNR directly is as follows:                -   i. If the received data samples (after frequency                    error removal and re-sampling to Tc-spaced samples                    and code de-correlation) are given by X_(i) (where                    the X_(i) are chip-spaced starting from the                    interpolated peak position).

X _(i) =S+N _(i)

-   -   -   -   -   ii. The signal is estimated as

$\overset{\hat{}}{S} = {\frac{1}{N}\Sigma_{i = 0}^{N - 1}X_{i}}$

-   -   -   -   -   iii. The noise is estimated as

$\overset{\hat{}}{N} = {\frac{1}{N - 1}{\Sigma_{i = 0}^{N - 1}\left( {X_{i} - \overset{\hat{}}{S}} \right)}^{2}}$

-   -   -   -   -   iv. The SNR is estimated as

$= \frac{\hat{S}}{\hat{N}}$

-   -   -   -   3) Choose the noise singular values as sV(ns, ns+1, . .                . , M) which satisfy the following condition:

n _(start)=[smallest n _(s) :SNR _(est)(n _(s))>

]

-   -   -   d) Another method involves determining the noise subspace by            repeatedly estimating the SNR for different partitions of            noise and signal subspaces using c)1) and choosing a            partition n_(start) such that

n _(start)=argmax_(n) _(s) [SNR _(est)(n _(s))−SNR _(est)(n _(s)−1)]_(n)_(s) ₌₂ ^(K).

-   -   -   -   FIG. 24 illustrates estimating noise sub-space, under                yet another alternative embodiment.

        -   e) FIG. 25 illustrates estimating noise sub-space, under            still another alternative embodiment.            -   1) Define

${wLen} = {\frac{{wL} + {wR}}{f_{s}T_{c}}.}$

-   -   -   -   Then the first wLen singular values represent the                significant signal-plus-noise subspace or noise subspace                singular values (the rest of the singular values                represent correlated noise and signal and quantization                effects).            -   2) Calculate an estimate of SNR as follows:                -   i. Assume that the noise is represented by the                    sV(i):i=n_(s), n_(s)+1 . . . wLen; 1<n_(s)≤wLen,                    calculate noise variance as:

${\sigma_{est}^{2}\left( n_{s} \right)} = \frac{\sum_{i = n_{s}}^{wLen}{s{V(i)}}}{{wLen} - n_{s} + 1}$

-   -   -   -   -   ii. Calculate the signal power as                    P_(sig)(n_(s))=Σ_(i=1) ^(n) ^(s) ⁻¹[sV(i)−α_(est)                    ²(n_(s))]                -   iii. Estimate of SNR:

${SN{R_{est}\left( n_{s} \right)}} = \frac{P_{sig}\left( n_{s} \right)}{\sigma_{est}^{2}\left( n_{s} \right)}$

-   -   3) Define n_(start)=[smallest n_(s):        SNR_(est)(n_(s))>(SNR_(est)(wLen)−thresDB)]. Then n_(start) up        to winLen represent the noise singular values. A typical value        of thresDB is 10.    -   12. Choose the corresponding noise right-singular vectors to        build V_(N) i.e. choose all vectors in V which correspond to the        noise singular values and build the noise subspace matrix V_(N).    -   13. Estimate Time of Arrival of the first path:        -   a) Define

${\omega (\tau)} = \begin{bmatrix}1 & e^{\frac{j\; 2\; \pi}{N_{fft}}\tau} & e^{\frac{j\; 2\; \pi}{N_{fft}}2\; \tau} & e^{\frac{j\; 2\; \pi}{N_{fft}}3\; \tau} & \ldots & e^{\frac{j\; 2\; \pi}{N_{fft}}{({M - 1})}\tau}\end{bmatrix}^{H}$

-   -   -   b) Calculate

${\Omega (\tau)} = \frac{1}{{\omega (\tau)}^{H}V_{N}V_{N}^{H}{\omega (\tau)}}$

-   -   -   for a range of values of T (T∈[T _(max) , −T _(max)]). The            resolution of search Δτ can be chosen as small as required.            As an example, T _(max)=5 and Δτ=0.05 so that T is searched            for in the range [−5,5] in steps of 0.05.

    -   14. Peaks of Ω(T) will provide the positions of channel impulses        relative to the coarse peak, n_(peak). Theoretically, first peak        will correspond to LOS path. Based on information about the        propagation environment which could be encoded in the        transmission from the base-station, it is possible to control T        _(max). For example, if the delay-spread is large, then T _(max)        can be chosen to be larger (e.g. 10) and if it is less then T        _(max) can be chosen as a smaller value (e.g. 4).

Combination Methods: Apart from the standalone methods discussed above,numerous other combination methods are possible. Combination of schemesbased on SNR on chip is an effective method. The following describes alist of combination schemes that can be realized in practice:

-   -   1. For chipSNR less than chipSNRRef, pick method 12(d) to choose        noise singular values. Otherwise choose method 12(a).    -   2. For chipSNR greater than chipSNRRef, pick method 12(d) to        choose noise singular values and estimate peak position.        Otherwise, use direct peak estimation techniques (such as peak        interpolation, peak shape) starting from the cross-correlation        function z[n].    -   3. For chipSNR less than chipSNRRef, pick method 12(e) to choose        noise singular values. Otherwise choose method 12(a).        -   A typical value of chipSNRRef is 10 dB.

Computation of Position

The location of the receiver unit is determined by the positioningengine available either on the terminal unit or the server. The receivercan use the range measurements from the system or combine the systemrange measurements with any of the measurements from other signals ofopportunity. A sufficient set of range measurements yields a positionfix provided that the measurements derive from known locations. Therange equation in 3D space is given by

r _(i)=√{square root over ((x _(i) −X)²+(y _(i) −Y)²+(z _(i) −Z)²)}.

The location of the transmitters is given by (x_(i), y_(i), z_(i)) andthe unknown location of the mobile units is given by (X, Y, Z) in somelocal coordinate frame. Three or more transmitters produce three or morerange measurements that are used to compute a fix. The measurement has areceiver time bias additive term as well, because the receiver time isnot synchronized to the WAPS timing.

R _(i) =r _(i) +cΔt.

This equation is referred to later as “Pseudorange MeasurementEquation”. Note that the time bias is common because the transmittersare timing synchronized. The pseudoranges must be corrected for transmittiming corrections which are available from the data stream embedded inthe transmission from each transmitter. This delta time bias creates anew unknown parameter, so a minimum of four measurements are used for asolution. A barometric altimeter measurement provides the neededinformation for a solution as

Baro=(Z _(b) −Z).

One method of solving these non-linear simultaneous equations is tolinearize the problem at an arbitrary initial point and then iterativelyfinding corrections to this initial position to iteratively lead to thefinal solution. This method uses an initial guess for the X, Y, Zsolution, so the centroid of the transmitters is used as

$\left( {X_{0},Y_{0},Z_{0}} \right) = {\left( {1\text{/}n} \right){\sum\limits_{i = 1}^{n}{\left( {x_{i},y_{i},z_{i}} \right).}}}$

The final position solution is assumed to be of the form

(X,Y,Z,Δt)=(X ₀ ,Y ₀ ,Z ₀ ,Δt ₀=0)+(dX,dY,dZ,dΔt)

The geometric range can be expanded in a Taylor series about (X, Y,Z,Δt)=(X₀, Y₀, Z₀,Δt₀)

$R_{i} = {{\sqrt{\left( {x_{i} - X} \right)^{2} + \left( {y_{i} - Y} \right)^{2} + \left( {z_{i} - Z} \right)^{2}} + {c\; \Delta \; t}} = {\left. {\sqrt{\left( {x_{i} - X_{0}} \right)^{2} + \left( {y_{i} - Y_{0}} \right)^{2} + \left( {z_{i} - Z_{0}} \right)^{2}} + {c\; \Delta \; t_{0}} + \frac{\partial r}{\partial x}} \middle| {}_{({X_{0},Y_{0},Z_{0},{\Delta \; t_{0}}})} {{dX} + \frac{\partial r}{\partial y}} \middle| {}_{({X_{0},Y_{0},Z_{0},{\Delta \; t_{0}}})} {{dY} + \frac{\partial r}{\partial z}} \middle| {}_{({X_{0},Y_{0},Z_{0},{\Delta \; t_{0}}})} {{dZ} + {c\mspace{14mu} d\; \Delta \; t}} \right. = \left. {{\hat{r}}_{i} + \frac{\partial r}{\partial x}} \middle| {}_{({X_{0},Y_{0},Z_{0},{\Delta \; t_{0}}})}{{dX} + \frac{\partial r}{\partial y}} \middle| {}_{({X_{0},Y_{0},Z_{0},{\Delta \; t_{0}}})} {{dY} + \frac{\partial r}{\partial z}} \middle| {}_{({X_{0},Y_{0},Z_{0},{\Delta \; t_{0}}})} {{dZ} + {c\mspace{14mu} d\; \Delta \; t}} \right.}}$

where the estimated ranges are computed as

{circumflex over (r)} _(i)=√{square root over ((x _(i) −X ₀)²+(y _(i) −Y₀)²+(z _(i) −Z ₀)²)}.

and the partial derivatives are given by

∂R/∂x=∂r/∂x=(x _(i) −X)/r _(i) ∂R/∂Δt=c

∂R/∂y=∂r/∂y=(y _(i) −Y)/r _(i)

∂R/∂z=∂r/∂z=(z _(i) −Z)/r _(i).

In this embodiment, four linear equations with four unknowns are shown.Additional range estimates would produce more rows in the matrix. Theresult is the set of equations

${\begin{bmatrix}{\left( {x_{1} - X_{0}} \right)\text{/}{\hat{r}}_{1}} & {\left( {y_{1} - X_{0}} \right)\text{/}{\hat{r}}_{1}} & {\left( {z_{1} - Z_{0}} \right)\text{/}{\hat{r}}_{1}} & 1 \\{\left( {x_{2} - X_{0}} \right)\text{/}{\hat{r}}_{2}} & {\left( {y_{2} - Y_{0}} \right)\text{/}{\hat{r}}_{2}} & {\left( {z_{2} - Z_{0}} \right)\text{/}{\hat{r}}_{1}} & 1 \\{\left( {x_{3} - X_{0}} \right)\text{/}{\hat{r}}_{3}} & {\left( {y_{3} - Y_{0}} \right)\text{/}{\hat{r}}_{3}} & {\left( {z_{3} - Z_{0}} \right)\text{/}{\hat{r}}_{1}} & 1 \\0 & 0 & 1 & 0\end{bmatrix} \times \begin{bmatrix}{\delta \; X} \\{\delta \; Y} \\{\delta \; Z} \\{c\mspace{14mu} \delta \; \Delta \; t}\end{bmatrix}} = \begin{bmatrix}{R_{1} - {\hat{r}}_{1}} \\{R_{2} - {\hat{r}}_{2}} \\{R_{3} - {\hat{r}}_{3}} \\{z_{b} - Z_{0}}\end{bmatrix}$

The last row of the observation matrix represents the barometricaltimeter measurement. The column of three 1 represents the same timebias on all three ranges. These equation are in the form of Ax=b. Thesolution x=A⁻¹*b. Note that in the absence of a barometer measurement,one more additional measurement would add an additional row similar torows 1 to 3 of the matrix above. This additional measurement wouldenable estimation of the altitude of the receiver. Note that when thereare more measurements available than the number of unknowns, then thesolution would be based on the pseudoinverse of A given byA₊=(A^(T)A)⁻¹A^(T) and the least square solution is given by x=A+⁻¹b.When the quality of measurements are not equal, the optimal way ofsolving the equations Ax=b in the least square sense is to use a weightproportional to the SNR for the error from each equation. This leads toa solution x=A+⁻¹b with A₊=(Δ^(T) WA)⁻¹A^(T)W. The diagonal weightingmatrix W formed by the weight proportional to the noise variance of themeasurements. The solution of these equations produces a deltacorrection to the X, Y, Z and delta time estimates, such that

$\begin{bmatrix}X_{1} \\Y_{1} \\Z_{1} \\{\Delta t_{1}}\end{bmatrix} = {\begin{bmatrix}X_{0} \\Y_{0} \\Z_{0} \\{\Delta t_{0}}\end{bmatrix} + {\begin{bmatrix}{\delta \; X} \\{\delta \; Y} \\{\delta \; Z} \\{\delta \; \Delta \; t}\end{bmatrix}.}}$

This completes the first iteration of the method. The updated positionand time bias estimates replace initial guess and the algorithm continueuntil the delta parameters are below some threshold value. A typicalstopping point would be for the norm of the delta values are below acertain threshold (for example, one meter).

The system of linearized equations in the GPS is solved using leastsquares and an initial guess about the location of the user such thatthe algorithm converges to the final user location. The linearization isbased on the fundamental assumption that the distance between thesatellites and the user position is larger than the distance between theuser position on the earth and the guessed position. For the same set ofequations to work in a terrestrial environment (with small geometry),the initial guess can be based on the centroid (as above), a point closeto the transmitter from which the received signal is the strongest, orobtained by a direct method which gives a closed form solution by meansof a sequence of formulae with no iterations. When the initial guess isa centroid or a point close to the transmitter from which the receivedsignal is the strongest, the initial guess is improved using a leastsquares method. When the initial guess is obtained by a direct methodwhich gives a closed form solution by means of a sequence of formulaewith no iterations, the initial solution itself is the final solutionand it is improved using least squares only when there are moremeasurements (and hence equations) than unknowns with individualmeasurements weighted by using the expected errors in those measurements(which are obtained from such parameters as signal strength andelevation angle). Further, if a sequence of measurements is to beprocessed in time, a solution obtained as above may be fed to a Kalmanfilter to obtain an optimal solution “trajectory”.

Another approach that overcomes the linearization problem in terrestrialcases involves formulating the set of equations as a non-linearminimization problem (specifically as a weighted non-linear leastsquares problem).

Specifically, the non-linear objective function to be minimized isdefined as

${f\left( {X,Y,Z,{\Delta \; t}} \right)} = {\sum\limits_{i = 0}^{N - 1}{W_{i} \times \left\lbrack {R_{i} - \sqrt{\left( {x_{i} - X} \right)^{2} + \left( {y_{i} - Y} \right)^{2} + \left( {z_{i} - Z} \right)^{2}} - {\Delta \; t}} \right\rbrack^{2}}}$

The weights W_(i) are chosen to be inversely proportional to the SNR ofthe measured ranges R_(i). The best estimate of the receiver location isobtained as the set of (X, Y, Z,Δt) that minimizes the objectivefunction. When barometer or other altitude aiding is available then theobjective function gets modified to

${f\left( {X,Y,{Z = Z_{baro}},{\Delta \; t}} \right)} = {\sum\limits_{i = 0}^{N - 1}{W_{i} \times \left\lbrack {R_{i} - \sqrt{\left( {x_{i} - X} \right)^{2} + \left( {y_{i} - Y} \right)^{2} + \left( {z_{i} - Z_{baro}} \right)^{2}} - {\Delta \; t}} \right\rbrack^{2}}}$

The position solution based on this method will be more stable androbust, particularly under small geometry terrestrial systemconfiguration. In this configuration, small changes in receivercoordinates significantly changes the observation matrix and sometimesleads to lack of convergence of the linearized iterations. Convergenceto a local minimum or divergence occurs more often due to residual biasin the measurements which affects the shape of the objective function sothat local minima can be present. Residual bias can be quite common inindoor/urban canyon environments. The non-linear formulation above makesthe position algorithm robust to measurement bias besides overcoming thesmall geometry linearization problem.

One approach to perform the minimization of the function f to obtainoptimal X, Y, Z is to use a genetic algorithm (such as differentialevolution) to find the global minimum of the function. The use of suchan algorithm enables the solution to avoid local minima that occur insmall geometry terrestrial positioning when multi-path bias is presentin the range measurements.

Irrespective of whether linearized least squares or non-linear leastsquares method is used to solve the pseudo-range measurement equations,it is important for a quality metric to be provided along with aposition estimate. The position quality metric should be a function ofthe pseudo-range measurement equation residuals, the quality of themeasurements as well as the geometry of the towers relative to theestimated position. The pseudo-range measurement residual for the ithtower measurement is given by

PR _(res,i) =R _(i)−(√{square root over ((x _(i) −X)²+(y _(i) −Y)²+(z_(i) −Z)²)}+cΔt)

The average weighted rms pseudo-range residual is given by

${PR}_{res} = \sqrt{\left( \frac{\sum\limits_{i}{W_{i} \times {PR}_{{res},i}^{2}}}{\sum\limits_{i}W_{i}} \right)}$

The HDOP, VDOP, PDOP are defined from the diagonal elements of H=(A^(T)A)⁻¹A^(T) as

HDOP=√{square root over (H(1,1)+H(2,2))}

VDOP=H(3,3)

PDOP=√{square root over (H(1,1)+H(2,2)+H(3,3))}

The pseudo-range RMS (root-mean-square) error at a particular SNR isgiven by

PRE _(th)=ƒ(√{square root over (SNR)})

where f is generally a non-linear monotonic decreasing function of itsargument. The function ƒ can be derived analytically for a particularreceiver configuration as a function of signal BW and receiver BW oralternatively, found from simulation as a table mapping SNR to rangeerror.

The quality metric for 2-D position is defined as

QM _(2-D)=HDOP×√{square root over (PR _(res) ² +PRE _(th) ²)}×α

Similarly, the quality metric for the altitude and 3-D position is givenby

QM _(alt)=VDOP×√{square root over (PR _(res) ² +PRE _(th) ²)}×α

QM _(3-D)=PDOP×√{square root over (PR _(res) ² +PRE _(th) ²)}×α

The quantity α is chosen based on the level of confidence desired. Forexample, a value of 3 would be used to obtain 95% confidence, while avalue of 1 would be used for 68% confidence.

Another method of positioning using the WAPS system involves the use ofa WAPS reference receiver in a differential scheme. As shown in“Differential Wide Area Positioning System” and discussed in the contextof timing synchronization, the time-stamped reference receivermeasurements along with the latitude, longitude, altitude of the WAPStowers and the reference receiver can be used to determine the timingdelta between WAPS tower transmissions at the specific time-stamp. Oncethe timing delta between transmitters is known, the range equations canbe reduced to have a single common time bias again. The WAPS receiverthen can avoid demodulation of the WAPS data stream (for example, toextract the timing corrections from the data stream). The WAPS receivermeasurements can be sent to the server and the position can then becomputed at the server or, alternatively, the reference receivermeasurements can be relayed to the WAPS receiver and the position can becomputed there. It is assumed that the latitude, longitude and altitudeof the WAPS towers is already known/available for use in the positioncomputation. In the case that the WAPS data stream is secure, thisdifferential system can avoid the need to extract data from the securedata stream for timing correction purposes.

Another alternative method for obtaining positioning from the WAPSsystem uses RSSI finger-printing techniques. A database of WAPS towertransmit powers/locations and RSSI levels is built up for a given targetarea based on training measurements in the area for which positioning isrequired. Note that RSSI database can also be augmented with Angle ofArrival (AOA) information to improve the solution. The WAPS receiverRSSI measurements (and possibly AOA measurements) are then used to lookup this database to obtain a location estimate. An alternative method ofusing the WAPS RSSI measurements would be to translate the measurementsinto a range estimate using a propagation model (or simpleextrapolation/interpolation techniques) and then use tri-lateration todetermine the position. Note that the RSSI measurements in thesefinger-printing techniques can be replaced by any other measurementsthat can be translated to range.

An alternative method of computing position using the WAPSinfrastructure uses a blind method for obtaining positioning from theWAPS system without prior knowledge of the WAPS tower locations. In thismethod, the approximate location of the WAPS towers are determined byfield measurement (for example, by measuring RSSI from many anglesaround the WAPS tower at GNSS tagged locations and then using a weightedaverage based on RSSI of these locations to estimate WAPS towerlocations). Then, any of the RSSI finger-printing methods can be used todetermine position (for example, as described in the above paragraph).

An alternative method of computing position using the WAPSinfrastructure can be used for computing position offline. The positioncomputation involves storing the sample segments of the WAPS signal (forexample, the stored data maybe I data at low IF or IQ data at baseband)from the WAPS receiver along with optionally an approximate position anda WAPS time tag. Note that it is enough to store enough samples to beable to acquire the signal. The samples are processed at a later time tosearch, acquire and compute range to WAPS towers. The method may useoffline data to look-up tower locations and timing correctioninformation that may be stored in a central database on a server. Thismethod of offline position computation provides the ability to supportWAPS positioning at the cost of only memory on the device. The otheradvantage of this method is the time taken for storing the WAPS IQ datais very short, making it convenient for applications that need to tagposition quickly, but the exact position is not requiredinstantaneously. One possible application for this method can be forgeo-tagging of photographs.

Another approach to positioning uses carrier phase measurements inaddition to the code phase measurements indicated above. The carrierphase measurements can be written as:

ϕ_(i)(t ₀)=r _(i)(t ₀)+N _(i) λ+Δt

Various techniques can be used to resolve the integer ambiguity N_(i) inthe carrier phase measurements. Code phase measurements, measurements atmultiple frequencies and/or other methods can be used to resolve theambiguities. Subsequently, the carrier phase measurements at time t_(k)can provide accurate tracking of position starting from an accurateinitial position. The carrier phase measurements at future times can bewritten as

ϕ_(i)(t _(k))=r _(i)(t _(k))+N _(i) λ+Δt

The N_(i) do not change as long as the carrier phase measurements do nothave cycle slips (i.e. the signals should be tracked with continuousphase lock) and the new locations can be computed using least squares.Alternatively, these measurements can be used in a Kalman filter toupdate the new position state. If phase lock is lost, new values ofinteger ambiguity need to calculated.

Another approach uses differential positioning relative to a referencereceiver as described above. Differential positioning can be done usingeither code or carrier measurements or a combination of both. Singledifference observables are computed for code and carrier phase bysubtracting measurements of the same towers from reference receiver rand receiver s as

$R_{sr}^{i} = {\underset{\underset{{{geometrical}\mspace{14mu} {range}}{difference}}{}}{\rho_{s}^{i} - \rho_{r}^{i}} + \underset{\underset{{{time}\mspace{14mu} {difference}}{{between}\mspace{14mu} {clocks}}}{}}{c\left( {{dt}_{s} - {dt}_{r}} \right)} + \left( {ɛ_{R,s} - ɛ_{R,r}} \right)}$

$\Phi_{sr}^{i} = {\underset{\underset{{{geometrical}\mspace{14mu} {range}}{difference}}{}}{\rho_{s}^{i} - \rho_{r}^{i}} + \underset{\underset{{{time}\mspace{14mu} {difference}}{{between}\mspace{14mu} {clocks}}}{}}{c\left( {{dt}_{s} - {dt}_{r}} \right)} + \underset{\underset{{{integer}\mspace{14mu} {ambiguity}\mspace{14mu} {in}}{{phase}\mspace{14mu} {measurement}}}{}}{\lambda \left( {N_{s}^{i} - N_{r}^{i}} \right)} + {\left( {ɛ_{\varphi,s} - ɛ_{\varphi,r}} \right).}}$

Note that any timing error in the transmitter does not appear in theseobservables and thus allows position solutions even when the system isasynchronous or imperfectly synchronized. In addition, any troposphericdelay error in measurements nearly cancels out since the troposphericdelay is likely to be correlated in the local area for short baselines(e.g., distances between reference receiver r and receiver s). Acommunication channel is used to send the range and carrier measurementsfrom the reference receiver r to the receiver s for positioncomputation. Or, alternatively, the receiver s and receiver r need tocommunicate the range and carrier to the server for positioncomputation.

In any position solution method, the height of a receiver can bedetermined using placement on a terrain map or barometric sensing. Usingplacement on a map, during trilateration the location of the user can beconstrained to be on a terrain based on a terrain database and theheight of the user determined. The height of the user can also beconstrained to be within a certain height above the terrain. Forexample, based on the tallest building in the area, the maximum altitudeabove terrain can be constrained. This type of constraint can improvethe quality of the height solution (for example, by eliminating theambiguous solution that is sometimes produced when using biased rangemeasurements).

In addition, if indoor building maps are available, the information(along with associated constraints on possible user locations) can beused to aid the position solution For example, physical restrictions canbe used to constrain the user motion model, and thereby improve thequality of the tracking Kalman position filter. Another usage ofbuilding maps is to determine/estimate the quality of a particulartower's range measurement based on the physical environment from thetower to the indoor location. A better estimate of range quality can beused to weight the position computation leading to better positionestimates.

When using a barometric sensor, a calibrated barometric sensor can beused to measure the pressure differences as the receiver terminal ismoved up or down in altitude. This is compared with a calibrated valuefor the pressure on different altitudes or an average value to determinethe height of the receiver.

In computing the position solution, when additional measurements greaterthat the minimum three measurements required for two-dimensionalposition are available, receiver integrity monitoring based on a checkof consistency of measurements is used to eliminate “outlier”measurements. The “outlier” measurements could be due to loss of timingsynchronization at the transmitter or due to the channel effects such asmultipath.

Hybrid Positioning and Information Exchange with Other Systems

The system of an embodiment can be combined with any ‘signal ofopportunity’, in order to provide positioning. Examples of a signal ofopportunity include, but are not limited to, one or more of thefollowing: GPS receivers; Galileo; Glonass; Analog or Digital TV Signal;signals from systems such as MediaFLO, Wi-Fi; FM signals; WiMax;cellular (UMTS, LTE, CDMA, GSM, etc); Bluetooth; and LORAN and e-LORANreceivers.

Regardless of signal type, the signal of opportunity provides a rangemeasurement or a proxy for a range measurement, such as signal strength.This proxy for a range is weighed and combined appropriately to get anestimate for the location. The weighting may use the signal-to-noiseratio (SNR) of the received signals or, alternatively, use a metric thatdefines the environment of the receiver (e.g., knowledge of urban,suburban, rural environment from assistance data, whether the receiveris indoor or outdoor based on input from the application). This istypically done in those environments where the system of an embodimentis unavailable or signal coverage is limited. When using the SNR for aweight for a particular measurement the weight may simply be an inversefunction of the SNR (or any other function that provides lower weight tosignals with lower SNR) to allow optimal combination of the WAPSmeasurements as well as other system measurements to obtain a position.The final positioning solution may be calculated either by taking rangemeasurements from the additional signal sources and combining with theWAPS range measurements and deriving a position solution for latitude,longitude and height, or by taking the position measurements from theadditional sources/devices and the position measurements from the WAPSsystem and providing an optimized location solution using a combinationof these location measurements based on the position quality metric fromdifferent systems. The various configurations of obtaining a hybridsolution using WAPS measurements/WAPS position estimates are shown inFIG. 26, FIG. 27, and FIG. 28. Any of the architectures described belowcan be selected for use depending on the hardware and softwarepartitioning of the system.

FIG. 26 shows hybrid position estimation using range measurements fromvarious systems in an embodiment. The range measurements (along withassociated range quality metrics) are used from GNSS and otherpositioning systems and combined in a single optimal position solutionby a hybrid position engine. This architecture is the most optimal interms of using the available data to get the best position estimate outof them.

FIG. 27 shows hybrid position estimation using position estimates fromvarious systems in an embodiment. Independent position estimates fromdifferent systems along with position quality are used to choose the onewith the best quality. This architecture is the easiest to implement andintegrate since the different positioning system are well isolated.

FIG. 28 shows hybrid position estimation using a combination of rangeand position estimates from various systems in an embodiment. Forexample, a position estimate from a WLAN positioning system can becompared with position estimate from range measurements from GNSS andWAPS systems to arrive at the best solution.

Inertial Navigation Sensors (INS) such as accelerometers and gyros,magnetic sensors such as e-compass, pressure sensors such as altimeterscan be used to provide location aiding information (referred to as loosecoupling) or raw sensor measurements (referred to as tight coupling) tothe WAPS system for usage in tracking mode.

An accelerometer can be used in the receiver of an embodiment todetermine a frequency for updating the position reporting to the server.A combination of sequence of position solutions and accelerometermeasurements can be used to detect static position, constant velocityand/or other movement. This movement data or information can then beused to determine the frequency of the updates such that, for example,when there is non-uniform motion the frequency of updates can be set toa relatively high frequency, and when the receiver is at a constantvelocity or stationary for a pre-determined period of time the frequencyof the updates can be reduced to save power.

The sensor or position measurements can be combined into a positionsolution in a position filter (such as a Kalman filter). Two types oftight coupling architectures, where the sensor measurements are combinedwith GNSS and WAPS measurements in the WAPS hybrid position engine, areillustrated in FIG. 29 and FIG. 30. FIG. 29 illustrates determining ahybrid position solution in which position/velocity estimates from theWAPS/GNSS systems are fed back to help calibrate the drifting bias ofthe sensors at times when the quality of the GNSS/WAPS position and/orvelocity estimates are good in an embodiment. This architecturesimplifies the algorithm formulation by partitioning the sensorcalibration and position calculation parts of the algorithm. However,the drawback of this method is the complexity in deciding when are thegood times to re-calibrate the sensors using WAPS/GNSS estimates.

FIG. 30 illustrates determining a hybrid position solution in whichsensor parameters (such as bias, scale and drift) are estimated as partof the position/velocity computation in the GNSS and/or WAPS unitswithout need for explicit feedback in an embodiment. For example, thesensor parameters can be included as part of the state vector of theKalman filter used for tracking the position/velocity of the receiver.This architecture provides an optimal solution in that the informationis used in one combined filter to update both position and sensorparameters.

Loose coupling is illustrated in FIG. 31 and FIG. 32 where a selectionunit selects between position estimate from the GNSS engine and the WAPSengine. Note that the selection unit may be part of the WAPS or GNSSposition units. FIG. 31 illustrates determining a hybrid positionsolution in which sensor calibration is separated from the individualposition computation units in an embodiment. FIG. 32 illustratesdetermining a hybrid position solution in which the sensor parameterestimation is done as part of the state of the individual positioncomputation units in an embodiment.

The loose coupling methods are generally worse than the tight couplingmethods since a selection uses information only from one system. Amongstloose coupling or tight coupling methods, the method that uses theranges along with raw sensor measurements to determine position andsensor parameters in one optimal filter are better than when sensorparameters and position are computed separately. As a result, thepreferred method from a performance perspective is the tight couplingsystem with implicit sensor parameter estimation. However, depending onthe hardware/software platform partitioning, one or more of thesemethods may be easily implemented and may be selected for that reason.

Information can also be exchanged between the WAPS system and othertransceiver systems on the same platform (such as cell-phone, laptop,PND). The transceiver systems can be, for example, Bluetoothtransceiver, WLAN transceiver, FM receiver/transmitter, digital oranalog TV system, MediaFLO, satellite communication system such as XMradio/Iridium, Cellular modem transceivers such as GSM/UMTS/cdma20001×/EVDO or WiMax. FIG. 33 shows the exchange of information between theWAPS and other systems in an embodiment. The exchange of informationbetween systems can improve the performance of either system. Since theWAPS system time is aligned to GPS time, the WAPS system can providegood quality timing and frequency estimates to any other system. Timeand frequency estimates into the WAPS system can reduce the WAPSacquisition search space in code and frequency. In addition, the WAPSsystem can provide location information to the other transceiversystems. Similarly, if the other system has location information(partial position eg. Altitude or 2-D position, or full position eg. 3-Dposition or raw range/pseudo-range/range-difference) available, thatlocation information can be provided with or without a location qualitymetric to the WAPS system. The range/pseudo-range data should beprovided along with the location of transmitter (or other means tocompute the range from the transmitter location to any receiverlocation) to enable usage of this range information in a hybridsolution. The range difference corresponding to two transmitters shouldbe provided along with location of the two transmitters. The WAPS systemwill use the information to aid its position solution. Alternatively,location information can be provided in the form of ranges (orpseudo-ranges) from known transmitter locations to the receiver device.These ranges (or pseudo-ranges) would be combined with WAPS ranges bythe positioning algorithm to compute a hybrid position.

Examples of specific systems and information that can be exchangedbetween them are shown in FIG. 34, FIG. 35, and FIG. 36.

FIG. 34 is a block diagram showing exchange of location, frequency andtime estimates between FM receiver and WAPS receiver in an embodiment.The location estimates from WAPS system can be provided to an FMReceiver. This location estimate may then be used, for example, toautomatically determine active FM radio stations in the local region.The FM signal may include a RDS—Radio Data Service) transmission aswell. If the location of the FM station is included in the RDS/RBDSdata-stream (for example, the Location and Navigation (LN) feature thatprovide data about the transmitter site, giving city and state name andprovide DGPS navigation data) then this information can be used toprovide location aiding to the WAPS Receiver. The frequency estimatefrom the WAPS system can be easily used to reduce the FM Receiver tuningtime for a particular station. In the other direction, the frequencyquality of the estimate in the FM Receiver is based on the FM radiostation transmit quality. The time estimate in the WAPS system is basedon GPS time and time can be transferred to the FM Receiver to aid timingalignment. Clock Time (CT) feature on RDS/RBDS transmissions may be usedto determine timing relative to the RDS data stream and can betransferred to the WAPS receiver.

FIG. 35 is a block diagram showing exchange of location, time andfrequency estimates between WLAN/BT transceiver and WAPS Receiver in anembodiment. In general, these WLAN/BT transceivers do not have anaccurate frequency estimate and as a result the frequency estimateswould be quite coarse, so the transfer of such an estimate from WLAN/BTtransceiver to WAPS receiver may have limited value. In the reversedirection, a WAPS frequency estimate can reduce the time taken forfrequency acquisition on the WLAN system. The timing information that isextracted, for example, from the timestamp on the wireless LAN AP(Access Point) beacons can be transferred to the WAPS system to aid WAPSacquisition. Note that some reference of the WLAN timing relative to GPStime is needed to make this useful for the WAPS system. Similarly, ifthe WLAN/BT system has a location estimate (partial position eg.Altitude or 2-D position, or full position eg. 3-D position or rawrange/pseudo-range) available, that location information can be providedwith or without a location quality metric to the WAPS system. The WLANposition estimate could simply be the geo-location of the serving AP orother “audible” APs in the vicinity. The WLAN position estimate couldalso be partial, for example, the altitude estimate based on the floorof the AP in question. The WLAN location information can also be a rangeestimate to a known transmitter AP location (for example, the WLANsystem may use Round Trip Time measurements to determine range estimate)or a range difference estimate between two transmit APs.

FIG. 36 is a block diagram showing exchange of location, time andfrequency estimates between cellular transceiver and WAPS receiver in anembodiment. Location estimates (partial, complete or rawranges/range-differences) from cellular systems (such as from TDOA, AFLTor other similar cellular signal FL or RL based positioning method) canbe provided to the WAPS system which will use these measurements toobtain a better position estimate. Frequency estimates from thefrequency tracking loops of the cellular modem can be provided to theWAPS system to reduce the frequency search space and thus improve WAPSacquisition time (i.e. TTFF). Time estimates from the cellular systemcan also be provided to the WAPS system to reduce the code search spaceor to aid bit and frame alignment. For example, systems that aresynchronized to GPS time such as cdma2000/1×EVDO can provide fine timeestimates for the WAPS system whereas asynchronous (transmissions notsynchronized finely to time scale such as GPS) cellular systems such asGSM/GPRS/EGPRS/UMTS may provide coarse time estimates.

Since the WAPS system time is aligned to GPS time, the WAPS system canprovide good quality timing and frequency estimates to any other systemeven if not on the same platform. For example, the WAPS system can beused to provide timing information to a pico/femto-cell BTS through aperiodic hardware signal such as a pps (pulse-per-sec) aligned with GPSsecond-boundaries or a single pulse signal with an associated GPS time.

As described above, the spectrum used by the WAPS system of anembodiment can include licensed or unlicensed bands or frequencies.Alternatively, the WAPS system can use the “White Space” spectrum. Thewhite space spectrum is defined as any spectrum that the WAPS systemssenses or determines to be free in a local area (not limited to TV WhiteSpace) and transmits location beacons in that spectrum. The transmittersof an embodiment can use spectrum-sensing technology to detect unusedspectrum and/or communicate geo-location (can be readily obtained fromthe GPS timing receiver) to a centralized database that coordinates thespectrum. The receivers can include spectrum-sensing technology tolisten to these beacons, or in another embodiment, may be notified ofthe frequency to which to tune using the communication medium. The WAPSsystem can adapt to dynamic white space availability or allocation (incases where the transmitters are required to broadcast theirgeo-location to a centralized database which then allocates either thespectrum to transmit in and/or the time duration for which it needs totransmit). The WAPS system can continuously broadcast in this spectrumor can share the spectrum with other systems as controlled by acentralized coordination service for the spectrum. The chipping rate andthe data rate of the WAPS system components can be modified dynamicallyto suit the accuracy requirements and/or signal power and bandwidthavailability at any given time. The system parameters can be sensed bythe receiver or can be communicated to the receiver through thecommunication medium. The transmitters can form a local network or incases of spectrum availability in a wider geographical area, can form acontinuous network.

The transmitter of an embodiment can also coexist with other networks onthe same transmit system in a time-shared fashion. For example, the samespectrum can be used in a time-shared fashion between location and smartgrid applications. The transmitter is a broadcast transmitter using themaximum available power levels and can adjust its power levelsdynamically based on spectrum sensing or as requested by a centralizedcoordinating server. The receiver can employ spectrum sensing or can becommunicated by a communication medium (which can also be a white spacespectrum) of the system parameters and wake up times at that time.

Based on spectrum availability, the WAPS system of an embodiment can useone channel of the TV White space (6 MHz bandwidth) or, if multiplechannels are available, can use the multiple frequency bands for bettermultipath resolution. If adjacent channels are available, channelbonding (e.g., combining adjacent channels) can be used. The increasedbandwidth can be used for better multipath resolution, higher chippingrate for higher accuracy, etc. Alternatively, the available bandwidthcan be used under FDMA to help solve the near far problem and/ormultipath resolution.

White space transmission/reception of WAPS waveforms in two or morewhite-space bands can enable better and faster integer ambiguityresolution for WAPS carrier phase measurements. This will enablerelatively high accuracy (of the order of <1 wavelength) single pointpositioning using WAPS.

The whitespace bandwidth can also be used as a communication channel inthe WAPS (in cases where a reference receiver is used) between thereference receiver at a surveyed location and the receiver whoseposition is to be found.

When a WAPS system in the licensed band is available in a wide areanetwork, a White-Space based local network of towers can be used toaugment the location accuracies of the WAPS receiver. The receiver canbe designed to listen to both frequencies simultaneously or switchbetween the licensed band and white space band and tune to theappropriate frequencies.

The White-space bands can also be used to send assistance information tothe WAPS, GPS or AGPS systems for location aiding and other assistanceinformation like clock bias, satellite ephemeris, etc.

In cases where multiple frequencies with wide seperation are available,the WAPS system can be designed to take advantage of the diversity infrequencies to provide better multipath performance.

Encryption and Security

The overhead information in the system of an embodiment can be encryptedusing an encryption algorithm. This allows users to use the system andbe billed for usage of the system and provide a means to controlinformation security. Keys can be applied to decrypt the signal. Thekeys can be obtained using a PC, wireless network, hardware dongle orcan be burnt into the non volatile memory of the device in a way that itis inaccessible by any unintended sources.

The encryption of an embodiment provides both data security andauthentication. The key components that are secured using encryption arethe transmitters, the receivers and the server communication.Transmitter Authentication includes unambiguously identifyingtransmitters so that malicious transmitters can be rejected. ReceiverAuthentication is such that only authentic receivers should be able toutilize the transmitted information. Receiver Authorization is such thatonly receivers that are authorized (authentic receiver) should bepermitted to operate. Server Communication is encrypted such thatcommunication between the receivers and the server and between thetransmitters and the server has to be secure. User data protection isalso encrypted because location tracking user databases requireprotection from unauthorized access.

Encryption methods of an embodiment can be broadly classified into twotypes: symmetric key cryptography and asymmetric key cryptography.Symmetric Key encryption provides both authentication and encryption,whereas asymmetric key encryption provides authentication of the privatekey owner, since the public key is available to anyone. Symmetric Keyencryption of data is an order of magnitude faster given similarresources. 3DES and AES are examples of symmetric key cryptography. Acombination of both methods is used as part of the encryptionarchitecture of an embodiment.

Over-the-air (OTA) broadcast messages can comprise general broadcastmessages or system messages. General broadcast messages contain dataspecific to each transmitter such as location information, transmittertiming counts and other pertinent information that assist a receiver indetermining its location. System messages are used to configureencryption keys, enable/disable receivers or for targeted one-wayprivate information exchange to a specific set of receivers.

The general format of a message of an embodiment includes: Message type(parity/ECC protected); Encrypted Message; and Encrypted Message ECC.The ECC for the encrypted message is computed after the message isencrypted.

The OTA broadcast comprises frames that are transmitted periodically,possibly every second. Depending on the channel data rate, a messagecould be split up (segmented) over multiple frames. Each frame comprisesa frame type and frame data. Frame type (parity protected) indicateswhether this is the first frame of a message or if it is a continuingframe; it can also indicate a low level format frame that may be usedfor other purposes. Frame Data is essentially a segmented Message or alow level data frame.

OTA system messages can be encrypted either by the session key or by thetransmitter's private key depending upon the system message type. OTAgeneral broadcast messages are encrypted using a symmetric key algorithmwith a session key that both the transmitter and receiver havenegotiated as described herein. This provides mutual authenticationi.e., transmitters can be authenticated by receivers and onlyauthenticated receivers can decode the OTA broadcast. The session key isknown to all transmitters and receivers and it is changed periodically.Key change messages are encrypted using the past few session keys,allowing receivers that were not active at a certain time period to syncup to the current session key.

OTA broadcasts also include periodic system messages encrypted by thetransmitter's private key. The receivers can unambiguously identify theauthenticity of the transmitter by using the associated public key. Inthe event the session key is compromised, this mechanism ensures thatunauthorized transmitters cannot be implemented.

FIG. 37 shows session key setup in an embodiment. Each receiver isequipped with a unique device ID and a device specific key. FIG. 38illustrates encryption in an embodiment. The WAPS System data serversmaintain a database of the device ID/device specific key pairing.Receiver initialization between a receiver and the WAPS data servers isfacilitated using a data connection (GPRS/USB/Modem, etc.) specific tothe receiver type. This connection is encrypted using the devicespecific key after the device identifies itself with the device ID.During this initialization, the current session key, the transmitterpublic key and licensing terms (i.e., duration the receiver isauthorized) are exchanged. Receiver initialization can be performed whenthe receiver has lost the current session key (initial power up) or ifits session key is out of sync (extended power off). The session key isperiodically updated, and the new key used for the updating is encryptedusing the previous N keys.

The OTA data rate may be inadequate for being the sole mechanism toauthorize receivers. However, the system message protocol of anembodiment supports device ID specific and device ID range-basedreceiver authorization.

A compromised session key requires all receivers to re-initialize.Therefore the session key storage should be tamper-proof in the device.Session key stored outside the device crypto boundary (i.e., attachedstorage of any kind) will be encrypted using the device's secure key.

A compromised session key cannot be used to masquerade a transmitterbecause the transmitter periodically transmits authenticationinformation using its private key. Therefore, the transmitter's privatekey should never be compromised.

In an alternative embodiment, shown in FIG. 39, the keys can be directlydelivered to the receiver over the communication link from the WAPSserver or can be routed through a third party application or serviceprovider. The keys can have a certain validity period. The keys can bemade available on a per-application basis or a per device basis based ona contractual agreement with the customer. Everytime a position requestis made either by an application on the receiver or by an application onthe network, the keys are checked for validity before retrieving theposition or parameters to compute position from the WAPS engine. The keyand information exchange to a WAPS server can happen using proprietaryprotocols or through standard protocols such as OMA SUPL.

The security architecture of the system can be implemented ascombination of architectures shown in FIG. 37 and FIG. 39.

Parameter sensors can be integrated into receivers of the WAPS system totime tag and/or location tag the measurements from the sensors. Theparameter sensors can include, but are not limited to, temperaturesensors, humidity sensors, weight sensors, and sensors for scanner typesto name a few. For example, an X-ray detector can be used to determineif a tracked receiver, or device including a tracked receiver, passesthrough an X-ray machine. The time of the X-ray event and location ofthe X-ray machine can be tagged by the detector. In addition, otherparameter sensors can be integrated into the WAPS system to both timetag and location tag measurements from the sensors.

Users can be billed for the system on a per use, per application on thedevice, hourly, daily, weekly, monthly and annual basis for anindividual or asset.

The location and height of the receiver unit can be sent to anyapplication on the terminal or to the network server using acommunication protocol. Alternatively, the raw range measurement can besent to the network through a communication protocol. The communicationprotocol can be a standard serial or other digital interface to theapplication on the terminal or through a standard or proprietarywireless protocol to the server. Possible methods of coupling orconnecting to a server through a standard protocol includes the use ofSMS messaging to another phone connected to the server or,alternatively, through a wireless data service to a web server. Theinformation sent includes one or more of latitude/longitude, height (ifavailable), and timestamp. The application on the server or the terminalunit can initiate a position fix. The location of the user can becommunicated directly from the server or by the application on theserver.

The WAPS standalone system independent of a GPS receiver can be used fordetermining the location of a device. The WAPS system by itself orintegrated WAPS and GPS and/or other positioning system can beimplemented to co-exist with media storage cards (such as SD cards) onthe media cards. The WAPS system by itself or integrated WAPS and GPSsystem and/or other positioning systems can be implemented to co-existon a cellular phone Subscriber Identity Module (SIM) card so that theSIM cards can be tracked.

Precise Positioning with Carrier Phase

One method to augment the WAPS system performance to further improveaccuracy (upto <1 m) is to implement a carrier phase positioning systemas described below. The beacons are set up as usual WAPS transmitters.For this method, it may be desirable (but not essential) to not use TDMAslotting to facilitate easy continuous phase tracking. When TDMA is notused, the near-far problem can be overcome through interferencecancellation and increased dynamic range in the receiver. The WAPSreceiver to support such a method is capable of measuring andtime-stamping code and carrier phase in a continuous manner for allvisible satellites. In addition, there is a reference receiver at aknown surveyed location that can also make similar measurements of codeand carrier phase in a continuous manner. The measurements from the WAPSreceiver and the reference receiver may be combined to compute aposition either on the device or on the server. The configuration ofsuch a system would be identical to a differential WAPS system.

Carrier phase measurement is more accurate than code phase measurementbut contains unknown integer number of carrier phase cycles calledinteger ambiguity. However there are ways to find integer ambiguitiescalled ambiguity resolution. One method will be considered here thatuses extension of local minima search algorithm to iteratively solve foruser receiver position and uses measurements at multiple epochs forimproved accuracy.

Consider carrier phase measurement at user receiver at a single epochfirst as follows.

ϕ_(u) ^((k))=λ⁻¹ ·r _(u) ^((k)) +N _(u) ^((k))+ƒ·(dt _(u) −dt^((k)))+ε_(u) ^((k))  (1)

where ϕ, λ, ƒ and N are carrier phase, wavelength, frequency and integercycles respectively, dt is clock bias, r is range, ε is measurementerror and subscript u represents user receiver k represents transmitternumber.

Range is given in terms of user and transmitter positions p_(u) andp^((k)) as

r _(u) ^((k)) =∥p _(u) −p ^((k))∥=√{square root over ((p _(ux) −p _(x)^((k)))²+(p _(uy) −p _(y) ^((k)))²+(p _(uz) −p _(z) ^((k)))²)}  (2)

To eliminate error in the knowledge of transmitter clock bias consideranother receiver at known position (called reference receiver) withcorresponding carrier phase equation

ϕ_(r) ^((k))=λ⁻¹ ·r _(r) ^((k)) +N _(r) ^((k))+ƒ·(dt _(r) −dt^((k))+ε_(r) ^((k))  (3)

where subscript r stands for reference receiver and subtract (2) from(1) to get

ϕ_(u) ^((k))−ϕ_(r) ^((k))=λ⁻¹·(r _(u) ^((k)) −r _(r) ^((k)))+(N _(u)^((k)) −N _(r) ^((k)))+ƒ·(dt _(u) −dt _(r))+(ε_(u) ^((k))−ε_(r)^((k)))  (4)

which is written as

ϕ_(ur) ^((k))=λ⁻¹ ·r _(ur) ^((k)) +N _(ur) ^((k)) +ƒ·dt _(ur)+ε_(ur)^((k))  (5)

where (•)_(ur)=(•)_(u)−(•)_(r).

Since dt_(u)r is not of interest it can be eliminated by differencing(5) for different values of index (k) to get so called double differenceobservable equation

ϕ_(ur) ^((kl))=λ⁻¹ ·r _(ur) ^((kl)) +N _(ur) ^((kl))+ε_(ur) ^((kl))  (6)

where (•)_(ur) ^((kl))=(•)_(ur) ^((k))−(•)_(ur) ^((l)).

Equation (6) then is an equation in the unknown user position p_(u)through r_(ur) ^((kl)) as

r _(ur) ^((kl))=(r _(u) ^((k)) −r _(r) ^((k)))−(r _(u) ^((l)) −r _(r)^((l)))=∥p _(u) −p ^((k)) ∥−∥p _(u) −p ^((l))∥−γ^((kl))  (7)

where

γ^((kl)) =∥p _(r) −p ^((k)) ∥−∥p _(r) −p ^((l))∥  (8)

Typically transmitter l used in double differencing is one of thetransmitters and labeling it as 1 for convenience leads to equation inthe matrix form as

$\begin{matrix}{\begin{bmatrix}\varphi_{ur}^{(21)} \\\varphi_{ur}^{(31)} \\\vdots \\\varphi_{ur}^{(n)}\end{bmatrix} = {{\lambda^{- 1} \cdot \begin{bmatrix}{{{p_{u} - p^{(2)}}} - {{p_{u} - p^{(1)}}} - \gamma^{(21)}} \\{{{p_{u} - p^{(3)}}} - {{p_{u} - p^{(1)}}} - \gamma^{(31)}} \\\vdots \\{{{p_{u} - p^{(n)}}} - {{p_{u} - p^{(1)}}} - \gamma^{({n\; 1})}}\end{bmatrix}} + \begin{bmatrix}N_{ur}^{(21)} \\N_{ur}^{(31)} \\\vdots \\N_{ur}^{({n\; 1})}\end{bmatrix} + {\begin{bmatrix}ɛ_{ur}^{(21)} \\ɛ_{ur}^{(31)} \\\vdots \\ɛ_{ur}^{({n\; 1})}\end{bmatrix}\mspace{14mu} {or}}}} & (9) \\{\mspace{79mu} {\varphi = {{\lambda^{- 1} \cdot {f\left( p_{u} \right)}} + N + ɛ}}} & (10)\end{matrix}$

Equation (10) is a nonlinear equation in unknown user position p_(u).Local minima search algorithm works on linear equations and so (10) islinearized and solved iteratively as follows. Let at iteration m,approximation to p_(u) is p_(u) ^(m) where

p _(u) =p _(u) ^(m) +Δp _(u)  (11)

and

$\begin{matrix}{{f\left( p_{u} \right)} = {{f\left( {p_{u}^{m} + {\Delta \; p_{u}}} \right)} \approx {{f\left( p_{u}^{m} \right)} + {\frac{\partial f}{\partial p_{u}}{\left( p_{u}^{m} \right) \cdot \Delta}\; p_{u}}}}} & (12)\end{matrix}$

where

$\begin{matrix}{{{\frac{\partial f}{\partial p_{u}}\left( p_{u} \right)} = \begin{bmatrix}{l^{(2)} - l^{(1)}} \\{l^{(3)} - l^{(1)}} \\\vdots \\{l^{(n)} - l^{(1)}}\end{bmatrix}},} & (13)\end{matrix}$

where l^((k)) is line-of-sight row vector

$l^{(k)} = \frac{p_{u} - p^{(k)}}{{p_{u} - p^{(k)}}}$

Then equation (10) is written as,

y=G·x·+N+ε  (13)

where

${y = {\varphi - {\lambda^{- 1} \cdot {f\left( p_{u}^{m} \right)}}}},{G = {{\lambda^{- 1} \cdot \frac{\partial f}{\partial p_{u}}}\left( p_{u}^{m} \right)}},$

and x=Δp_(u)

Equation (13) is linear in x=Δp_(u) and is solved for Δp_(u) using localminima search algorithm given below. Using so obtained solution ofΔp_(u) equation (11) is used to get p_(u) at iteration m and then soobtained p_(u) is used as p_(u) ^(m+1) at the next iteration (m+1). Theiterations are continued till Δp_(u) becomes small enough to decideconvergence. At the beginning of iterations p_(u) ⁰ can be taken fromcode phase based solution.

Now consider solving equation (13). Let

_(dd) be covariance matrix of double difference carrier phase errorvector. It is obtained as follows. Variance of error in singledifference observable ϕ_(ur) ^((k))=ϕ_(u) ^((k))−ϕ_(r) ^((k)) is

_(u)+

_(r) where

_(u) and

_(r) are respective carrier phase error variances which are assumed tobe independent of transmitter k. Variance of ϕ_(ur) ^((k1))=ϕ_(ur)^((k))−ϕ_(ur) ⁽¹⁾ is 2·(

_(u)+

_(r)) and cross-variance between ϕ_(ur) ^((j1))=ϕ_(ur) ^((j))−ϕ_(ur) ⁽¹⁾and ϕ_(ur) ^((k1))=ϕ_(ur) ^((k))−ϕ_(ur) ⁽¹⁾, j≠k is

_(u)+

_(r) which is variance of the common term ϕ_(ur) ⁽¹⁾. So,

$\begin{matrix}{Q_{dd} = {\left( {Q_{u} + Q_{r}} \right) \cdot \begin{bmatrix}2 & 1 & \ldots & 1 \\1 & 2 & \ldots & 1 \\\vdots & \vdots & \ddots & \vdots \\1 & 1 & \ldots & 2\end{bmatrix}}} & (14)\end{matrix}$

Weighted least squares solution of (13) is:

{circumflex over (x)}=G ^(L)·(y−N)  (15)

where G^(L) is left inverse of G, G^(L)=(G^(T)·

_(dd) ⁻¹·G)⁻¹·G^(T)·

_(dd) ⁻¹

Vector of residuals is then

(Y−N)−G·{circumflex over (x)}=(y−N)−G·G ^(L)(y−N)=(I−G·G^(L))(y−N)=S(y−N)  (16)

which is a function of N and local minima search tries to minimizeweighted norm square of residuals with respect to N as

min c(N)=(y−N)^(T) ·W·(y−N),  (17)

where W=S^(T)·

_(dd) ⁻¹·S and S=I−G·G^(L)

To solve (17) consider solving

W·N≈W·y  (18)

under the constraint that N is integer. Then W·(y−N)≈0 and(y−N)^(T)·W^(T)·W·(y−N)=(y−N)^(T)·W·(y−N)=c(N)≈0 because W isidempotent(W^(T)=W and W·W=W). Thus search for N is limited to those Nwhich satisfy (18).

Once N is solved for estimate of x=Δp_(u) is obtained from equation(15).

Matrices G and G^(L), of dimensions (n−1)×3 and 3×(n−1) respectivelyhave rank 3 each since (n−1)>3 and so (n−1)×(n−1) matrices S and W willfall short from full rank of (n−1) by 3.

Using QR decomposition of W (LU decomposition could also be used) onequation (18),

R·N=

^(T) ·W·y  (19)

where

is ortho-normal matrix (

⁻¹=

^(T)) and R is upper triangular so that

$\begin{matrix}{{\begin{bmatrix}R_{11} & R_{12} \\0 & 0\end{bmatrix} \cdot \begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}} = \begin{bmatrix}\left( {Q^{T} \cdot W \cdot y} \right)_{11} \\{\approx 0}\end{bmatrix}} & (20)\end{matrix}$

and then

N ₁=round{R ₁₁ ⁻¹·((

^(T) ·W·y)₁₁ −R ₁₂ ·N ₂)}  (21)

Thus solution of

$N = \begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}$

is obtained by searching for N₂ in 3 dimensional box with integervalues, obtaining N₁ from (21), and picking that N which minimizes c(N)in (17). Search for N₂ is centered on the value of N₂ from the previousiteration. At the zero-th iteration N₂ latter part of N which isobtained as fractional part of λ⁻¹·ƒ(p_(u) ⁰); p_(u) ⁰ being the codephase based solution. The size of the 3 dimensional search box dependson the uncertainty in the code phase based solution. This box can bedivided into smaller sub-boxes and center of each smaller size sub-boxcan be tried as initial p_(u) ⁰.

The above method used a single epoch (instant) of measurement todetermine position. The description below explains an extension to thesingle epoch method. Multiple epoch measurements are taken close enoughin time wherein user receiver movement is negligible. Further, integerambiguities of the initial epoch remain the same for subsequent epochsso that no new unknown integer ambiguities are introduced at subsequentepochs. Multiple epoch measurements do not give independent equationsbecause transmitter locations are fixed (unlike in the GNSS case wheremotion of satellite transmitters change line-of-sight and thus giveindependent equations). So multiple epoch measurements do not help insolving for integer ambiguities as float ambiguities (unlike in GNSScase when number of independent equations become greater than number ofunknown ambiguities plus three position coordinates). However, multipleepoch measurements allow more carrier phase measurement errors and stillallow successful ambiguity resolution. In the multiple epoch caseequation (13) becomes

$\begin{matrix}{y = {\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{m}\end{bmatrix} = {{\begin{bmatrix}G \\G \\\vdots \\G\end{bmatrix} \cdot x} + \begin{bmatrix}N \\N \\\vdots \\N\end{bmatrix} + \begin{bmatrix}ɛ_{1} \\ɛ_{2} \\\vdots \\ɛ_{m}\end{bmatrix}}}} & (22)\end{matrix}$

Following development for single epoch case as above equation, theproblem reduces to problem of finding N such that

$\begin{matrix}{{{\min \mspace{14mu} {c(N)}} = {\left( {y - \begin{bmatrix}\begin{matrix}\begin{matrix}N \\N\end{matrix} \\\vdots\end{matrix} \\N\end{bmatrix}} \right)^{T} \cdot \overset{\_}{W} \cdot \left( {y - \begin{bmatrix}N \\N \\\vdots \\N\end{bmatrix}} \right)}},{{{where}\mspace{14mu} \overset{\_}{W}} = {{\overset{\_}{S}}^{T} \cdot {\overset{\_}{Q}}_{dd}^{- 1} \cdot \overset{\_}{S}}},{\overset{\_}{S} = {I - {\overset{\_}{G} \cdot {\overset{\_}{G}}^{L}}}},{{\overset{\_}{G}}^{L} = {{{\left( {{\overset{\_}{G}}^{T} \cdot {\overset{\_}{Q}}_{dd}^{- 1} \cdot \overset{\_}{G}} \right)^{- 1} \cdot {\overset{\_}{G}}^{T} \cdot {\overset{\_}{Q}}_{dd}^{- 1}}\overset{\_}{G}} = {{\begin{bmatrix}G \\G \\\vdots \\G\end{bmatrix}{\overset{\_}{Q}}_{dd}^{- 1}} = \begin{bmatrix}Q_{dd}^{- 1} & 0 & \ldots & 0 \\0 & Q_{dd}^{- 1} & \ldots & 0 \\\vdots & \vdots & \ddots & \vdots \\0 & 0 & \ldots & Q_{dd}^{- 1}\end{bmatrix}}}}} & (23)\end{matrix}$

And to solve (23) for N consider solving

$\begin{matrix}{{{\overset{\_}{W} \cdot \overset{\_}{I} \cdot N} \approx {{\overset{\_}{W} \cdot y}\mspace{14mu} {where}\mspace{14mu} \overset{\_}{I}}} = \begin{bmatrix}I \\I \\\vdots \\I\end{bmatrix}} & (24)\end{matrix}$

using QR decomposition of W·Ī (LU decomposition could also be used) andfollowing equations of (19) to (21) as above. Again, once N is solvedfor estimate of x=Δp_(u) is obtained from equation (15). If thisestimate of x=Δp_(u) is small then iterations in equation (11) arestopped to obtain user position p_(u). Typically if each component of xis less than 1e-6 in magnitude then convergence is declared anditerations are stopped.

The next step is to verify whether the converged user position p_(u) isthe right one. This is done based on residuals obtained from (10) asmod(ϕ−λ⁻¹·ƒ(p_(u))−N, λ). If maximum of absolute values of residuals foreach epoch is less than

then converged solution is accepted as a solution otherwise the searchis continued by selecting a new sub-box. Typically scale factor κ in theverification test can be chosen to be 5. Once the solution is verified,the differential WAPS system described above can achieve accuracy closeto or better than 1 m.

This differential WAPS carrier phase system may be overlaid on top ofthe traditional WAPS system through the addition of reference receiversor can be standalone. The differential WAPS carrier phase system can beused to deliver high accuracy positioning in certain localized targetareas (such as malls, warehouses, etc.).

The system described herein for use in position/timing accuracy can beused in one or more of the following applications in both local areasand wide areas, but is not limited to the following applications: assettracking; people tracking; pet tracking; fire safety; mobileadvertising; ad hoc position determination for public safetyapplications (e.g., a set of “mobile” transmitters can be moved to thelocation (for example, location of a fire) and those transmitters wouldform a local network to provide location signals to a set of receiversin that vicinity); military applications (e.g., transmitters can bedeployed in an ad hoc fashion on the land or over the air to get preciseindoor positions); adaptable bandwidth for applications that can providethe bandwidth to meet the accuracy needs; container tracking andvehicles that move containers around in indoor environments;geo-tagging; geo-fencing; E911 applications; palette tracking formedical applications and other applications that require palettetracking; femto-cells; timing references for femto-cells, timingreceivers; providing location for security applications thatauthenticates based on location both indoors and outdoors; homingapplication (e.g., pet/asset tracking using WAPS and providingpedestrian navigation to the asset/pet using mobile phone). The WAPSsystem by itself or integrated with other location technologies can befurther integrated into existing local area and/or wide area assettracking and/or positioning systems.

The embodiments described herein include a positioning systemcomprising: a transmitter network comprising a plurality of transmittersthat broadcast positioning signals; a remote receiver that acquires andtracks at least one of the positioning signals and satellite signals,wherein the satellite signals are signals of a satellite-basedpositioning system, wherein a first operating mode of the remotereceiver comprises terminal-based positioning in which the remotereceiver computes a position of the remote receiver from at least one ofthe positioning signals and the satellite signals; and a server coupledto the remote receiver, wherein a second operating mode of the remotereceiver comprises network-based positioning in which the servercomputes a position of the remote receiver from at least one of thepositioning signals and the satellite signals, wherein the remotereceiver receives and transfers to the server at least one of thepositioning signals and the satellite signals.

The embodiments described herein include a method of determiningposition, comprising: receiving at a remote receiver at least one ofpositioning signals and satellite signals, wherein the positioningsignals are received from a transmitter network comprising a pluralityof transmitters, wherein the satellite signals are received from asatellite-based positioning system; and determining a position of theremote receiver using one of terminal-based positioning and networkbased positioning, wherein terminal-based positioning comprisescomputing a position of the remote receiver at the remote receiver usingat least one of the positioning signals and the satellite signals,wherein network-based positioning comprises computing a position of theremote receiver at a remote server using at least one of the positioningsignals and the satellite signals.

The components described herein can be located together or in separatelocations. Communication paths couple the components and include anymedium for communicating or transferring files among the components. Thecommunication paths include wireless connections, wired connections, andhybrid wireless/wired connections. The communication paths also includecouplings or connections to networks including local area networks(LANs), metropolitan area networks (MANs), wide area networks (WANs),proprietary networks, interoffice or backend networks, and the Internet.Furthermore, the communication paths include removable fixed mediumslike floppy disks, hard disk drives, and CD-ROM disks, as well as flashRAM, Universal Serial Bus (USB) connections, RS-232 connections,telephone lines, buses, and electronic mail messages.

Aspects of the systems and methods described herein may be implementedas functionality programmed into any of a variety of circuitry,including programmable logic devices (PLDs), such as field programmablegate arrays (FPGAs), programmable array logic (PAL) devices,electrically programmable logic and memory devices and standardcell-based devices, as well as application specific integrated circuits(ASICs). Some other possibilities for implementing aspects of thesystems and methods include: microcontrollers with memory (such aselectronically erasable programmable read only memory (EEPROM)),embedded microprocessors, firmware, software, etc. Furthermore, aspectsof the systems and methods may be embodied in microprocessors havingsoftware-based circuit emulation, discrete logic (sequential andcombinatorial), custom devices, fuzzy (neural) logic, quantum devices,and hybrids of any of the above device types. Of course the underlyingdevice technologies may be provided in a variety of component types,e.g., metal-oxide semiconductor field-effect transistor (MOSFET)technologies like complementary metal-oxide semiconductor (CMOS),bipolar technologies like emitter-coupled logic (ECL), polymertechnologies (e.g., silicon-conjugated polymer and metal-conjugatedpolymer-metal structures), mixed analog and digital, etc.

It should be noted that any system, method, and/or other componentsdisclosed herein may be described using computer aided design tools andexpressed (or represented), as data and/or instructions embodied invarious computer-readable media, in terms of their behavioral, registertransfer, logic component, transistor, layout geometries, and/or othercharacteristics. Computer-readable media in which such formatted dataand/or instructions may be embodied include, but are not limited to,non-volatile storage media in various forms (e.g., optical, magnetic orsemiconductor storage media) and carrier waves that may be used totransfer such formatted data and/or instructions through wireless,optical, or wired signaling media or any combination thereof. Examplesof transfers of such formatted data and/or instructions by carrier wavesinclude, but are not limited to, transfers (uploads, downloads, e-mail,etc.) over the Internet and/or other computer networks via one or moredata transfer protocols (e.g., HTTP, HTTPs, FTP, SMTP, WAP, etc.). Whenreceived within a computer system via one or more computer-readablemedia, such data and/or instruction-based expressions of the abovedescribed components may be processed by a processing entity (e.g., oneor more processors) within the computer system in conjunction withexecution of one or more other computer programs. Unless the contextclearly requires otherwise, throughout the description and the claims,the words “comprise,” “comprising,” and the like are to be construed inan inclusive sense as opposed to an exclusive or exhaustive sense; thatis to say, in a sense of “including, but not limited to.” Words usingthe singular or plural number also include the plural or singular numberrespectively. Additionally, the words “herein,” “hereunder,” “above,”“below,” and words of similar import, when used in this application,refer to this application as a whole and not to any particular portionsof this application. When the word “or” is used in reference to a listof two or more items, that word covers all of the followinginterpretations of the word: any of the items in the list, all of theitems in the list and any combination of the items in the list. Theabove description of embodiments of the systems and methods is notintended to be exhaustive or to limit the systems and methods to theprecise forms disclosed. While specific embodiments of, and examplesfor, the systems and methods are described herein for illustrativepurposes, various equivalent modifications are possible within the scopeof the systems and methods, as those skilled in the relevant art willrecognize. The teachings of the systems and methods provided herein canbe applied to other systems and methods, not only for the systems andmethods described above. The elements and acts of the variousembodiments described above can be combined to provide furtherembodiments. These and other changes can be made to the systems andmethods in light of the above detailed description. In general, in thefollowing claims, the terms used should not be construed to limit theembodiments to the specific embodiments disclosed in the specificationand the claims, but should be construed to include all systems thatoperate under the claims. Accordingly, the embodiments are not limitedby the disclosure herein, but instead the scope of the embodiments is tobe determined entirely by the claims. While certain aspects of theembodiments are presented below in certain claim forms, the inventorscontemplate the various aspects of the embodiments in any number ofclaim forms. Accordingly, the inventors reserve the right to addadditional claims after filing the application to pursue such additionalclaim forms for other aspects of the embodiments.

1. A method for estimating one or more positions of a receiver, whereinthe method comprises: generating, for each of a plurality of positioningsignals transmitted from a plurality of terrestrial transmitters andreceived by the receiver, a cross-correlation function bycross-correlating one or more signal samples extracted from thatpositioning signal with a reference sequence corresponding to thatpositioning signal; determining a vector of cross-correlation samplesfrom each cross-correlation function by selecting a first set ofcross-correlation samples left of a peak of the cross-correlationfunction and a second set of cross-correlation samples right of the peakof the cross-correlation function; identifying, for each of thepositioning signals, a time of arrival estimate corresponding to anearliest arriving signal path of one or more signal paths correspondingto that positioning signal using a high resolution time of arrivalmeasurement method; and estimating a first position of the receiverbased on the time of arrival estimate.
 2. The method of claim 1, whereinthe method comprises: selecting uncorrelated noise samples to obtaininformation regarding a noise sub-space.
 3. The method of claim 1,wherein the time of arrival estimate identified for each of thepositioning signals is identified by applying the high resolution timeof arrival measurement method to the vector of cross-correlation samplescorresponding to that positioning signal.
 4. The method of claim 1,wherein each vector of cross-correlation samples includes the peak ofthe cross-correlation function.
 5. The method of claim 1, wherein eachvector of cross-correlation samples includes a first set ofcross-correlation samples left of a peak of the cross-correlationfunction, and a second set of cross-correlation samples right of thepeak of the cross-correlation function.
 6. The method of claim 1,wherein each reference sequence is a pseudorandom sequence.
 7. Themethod of claim 1, wherein the high resolution time of arrivalmeasurement method is based on at least one of a MUSIC algorithm, anESPRIT algorithm, or an Eigen-space decomposition method.
 8. The methodof claim 1, wherein the method comprises: generating a reference vectorfrom a correlation function determined by a calculated function or ameasurement in a channel environment that has low noise and separable orno multipath components.
 9. The method of claim 1, wherein the methodcomprises: improving a signal-to-noise ratio in the vector by coherentlyaveraging across at least one of a plurality of pseudorandom code framesand a plurality of bits.
 10. The method of claim 1, wherein the methodcomprises: calculating a Fourier Transform using the vector.
 11. Themethod of claim 1, wherein the method comprises: generating a frequencydomain estimate of a channel; generating a reduced channel estimatevector from the frequency domain estimate of the channel; defining anestimated covariance matrix of the reduced channel estimate vector; andperforming singular value decomposition on the estimated covariancematrix.
 12. The method of claim 1, wherein the method comprises:generating a vector of sorted singular values; and using the vector ofsorted singular values to separate signal and noise subspaces.
 13. Themethod of claim 1, wherein the method comprises: generating a noisesubspace matrix.
 14. The method of claim 1, wherein the methodcomprises: determining the first position of the receiver based on anon-linear objective function and a best estimate of the first positionas a set of position parameters that minimize the objective function.15. The method of claim 1, wherein the method comprises: determining thefirst position of the receiver based on a solution to a set oflinearized equations using a least squares method.
 16. The method ofclaim 1, wherein the high resolution time of arrival measurement methodis based on at least one of a signal space separation method, a noisespace separation method, a singular value decomposition method, or acovariance estimation method.
 17. The method of claim 1, wherein thetime of arrival estimate corresponding to the earliest arriving signalpath is identified by: generating a reference vector from a correlationfunction determined by a calculated function or a measurement in achannel environment that has low noise and separable or no multipathcomponents; improving a signal-to-noise ratio in the vector bycoherently averaging across at least one of a plurality of pseudorandomcode frames and a plurality of bits; calculating a Fourier Transform ofthe vector; generating a frequency domain estimate of a channel usingthe Fourier Transform of the vector and a Fourier Transform of thereference vector; generating a reduced channel estimate vector from thefrequency domain estimate of the channel; defining an estimatedcovariance matrix of the reduced channel estimate vector; performingsingular value decomposition on the estimated covariance matrix;generating a vector of sorted singular values; using the vector ofsorted singular values to separate signal and noise subspaces;generating a noise subspace matrix; and using the noise subspace matrixto identify the time of arrival estimate corresponding to the earliestarriving signal path.
 18. One or more non-transitory computer-readablemedia embodying program instructions that, when executed by one or moreprocessors, cause the one or more processors to implement a method forestimating one or more positions of a receiver, wherein the methodcomprises: generating, for each of a plurality of positioning signalstransmitted from a plurality of terrestrial transmitters and received bythe receiver, a cross-correlation function by cross-correlating one ormore signal samples extracted from that positioning signal with areference sequence corresponding to that positioning signal; determininga vector of cross-correlation samples from each cross-correlationfunction; identifying, for each of the positioning signals, a time ofarrival estimate corresponding to an earliest arriving signal path ofone or more signal paths corresponding to that positioning signal usinga high resolution time of arrival measurement method; and estimating afirst position of the receiver based on the time of arrival estimate.19. A system for estimating one or more positions of a receiver, whereinthe system comprises: means for generating, for each of a plurality ofpositioning signals transmitted from a plurality of terrestrialtransmitters and received by the receiver, a cross-correlation functionby cross-correlating one or more signal samples extracted from thatpositioning signal with a reference sequence corresponding to thatpositioning signal; means for determining a vector of cross-correlationsamples from each cross-correlation function; means for identifying, foreach of the positioning signals, a time of arrival estimatecorresponding to an earliest arriving signal path of one or more signalpaths corresponding to that positioning signal using a high resolutiontime of arrival measurement method; and means for estimating a firstposition of the receiver based on the time of arrival estimate.